Kezdőoldal » Számítástechnika » Programozás » Egy programot bármilyen...

Egy programot bármilyen nyelven le lehet programozni?

Figyelt kérdés
Egy olyan alkalmazást, ami ha talál Bluetooth-os eszközt, akkor rákapcsolódik automatikusan. Példázul ezt ugyanúgy le lehet programozni C-ben meg Java-ban?

2014. jún. 18. 20:49
 1/7 anonim ***** válasza:
18%

Nem bármilyen nyelven, sőt bármilyen Turing-teljes nyelven sem lehet. Példának okáért, a Bluetooth nem része a Turing gépnek, tehát például a Turing gépen nem lehet ezt leprogramozni. Ez maga után vonja azt is, hogy a Turing-teljesség nem elegendő ahhoz, hogy ezt meg lehessen tenni. Sőt, nem is feltétlenül szükséges.


Azonban, azokon a nyelveken, amelyek képesek az adott környezetben Bluetooth eszközzel együttműködni, azzal a feltétellel, hogy a gép rendelkezik is ilyen eszközzel, le lehet programozni. Nyilván, a hordozhatóság ilyen módú korlátozásával.


Az általános célú programozási nyelvek általában valamilyen módon lehetővé teszik azt, hogy C-ben írt library-khez valamilyen módon hozzáférj. Így, ha nem is pusztán azon a nyelven megírva, de a C-s library-val együtt használva, a legtöbb általános célú programozási nyelven meg lehet ezt tenni.

2014. jún. 18. 20:58
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
néhány nyelvnek meg vannak a keretei de nem hangzik lehetetlennek
2014. jún. 18. 20:59
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
100%

"Egy programot bármilyen nyelven le lehet programozni?"


Általánosabban nézve.


A Church tézis kimondja, hogy "Algoritmikusan pontosan az számítható ki, ami Turing géppel".


Így a Turing-teljes, vagyis a tézist kielégítő más nyelveken is kiszámítható minden, ami algoritmikusan kiszámítható. Egy nagyon egyszerű példa például a Brainfuck nyelv.


A Turing teljesség egy nagyon egyszerű, bár korlátozott hasznosságú bizonyítása, amikor egy Turing gépet szimuláló programot készítenek ezeken a nyelveken. Ezt azzal a korlátozással lehet megtenni, hogy kizárólag véges Turing-gépet vagyunk képesek szimulálni. Hiszen, végtelen memóriával ellátott számítógép nem készíthető.


Vagyis ilyen szempontból vizsgálva a kérdést, nem lehet egy programozni bármilyen programot bármilyen nyelven, sőt, vannak olyan programok, amelyeket semmilyen programozási nyelven nem lehet leprogramozni. Azonban, mivel az algoritmusok véges időben érnek véget, ezért elméleti szempontból ritkán jelent problémát a memória végessége.


A te általad említett példa viszont nem algoritmikai probléma, nem is számításról van szó, hanem egy adott hardverrel való kommunikációról. Ehhez pedig a Turing teljesség nem elegendő, kommunikációs képességekre is szükség van. Illetve, nyilván a megfelelő hardverre. Esetenként a Turing teljesség pedig nem is elvárás egy kommunikációs ágens számára.

2014. jún. 18. 21:09
Hasznos számodra ez a válasz?
 4/7 iostream ***** válasza:
56%

Magas szintről: igen, bármilyen program bármilyen teljes nyelven létrehozható


Konkrétabban: van, ami csak sok szenvedés árán vagy úgy sem érhető el bizonyos nyelvekben. Például ha senki nem írt volna még Bluetooth modult Pythonhoz, akkor először azt meg kell írni, csak utána lehet Pythonban Bluetooth-os programokat írni.

2014. jún. 18. 22:56
Hasznos számodra ez a válasz?
 5/7 Tengor ***** válasza:
Meglehet írni C-ben és Java-ban is. Java-ban elég egyszerű. Google: java bluetooth
2014. jún. 19. 08:48
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
Nem.
2014. jún. 19. 09:26
Hasznos számodra ez a válasz?
 7/7 anonim ***** válasza:
Nem hiszem, hogy bizonyítatlan elméletekre kellene itt hivatkozni, mint a Church Turing tézis. Az viszont tartom, hogy ha a Java adott és onnan elérhető a Bluetooth-os eszköz, akkor arra ráépítve bármilyen nyelvet használhatsz. Persze abból a nyelvből is elérhető kell, hogy legyen a Bluetooth.
2014. jún. 19. 14:45
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!