|
Страници по тази тема: 1 | 2 | (покажи всички)
Тема
|
За компютърния език
|
|
Автор |
ДъpвeнФилocoф () |
Публикувано | 11.08.04 17:50 |
|
Провокиран от една избрана статия в един сайт (много единици станаха, но не обичам да правя антиреклама), която започва с "Prolog е компютърен език ..." си спомних неща, които и студентите знаят. Не мислите ли, че компютърен език е машинният език на процесора, който е доста далеч от Пролог?
(Тема-закачка, целяща да провокира дискусия.)
| |
Тема
|
Re: За компютърния език
[re: ДъpвeнФилocoф]
|
|
Автор | Gwydion (Нерегистриран) |
Публикувано | 12.08.04 16:06 |
|
Уточни, моля те - ти правиш ли разлика между компютърен език и език за програмиране? Ако да, нищо чудно Prolog да не е баш компютърен език. Според мен, обаче, да се каже "компютърен" значи твърде да се детайлизират нещата. Ако реша да програмирам кафеварката си на някакъв език (евентуално Prolog, въпреки че не ми хрумва подходящ начин), от това езикът няма да стане по-малко компютърен. М?
| |
|
разлика си има. За мен компютърен език е онзи, който е в най-малкото в чиповете на компютъра. Ако японците са направили вече оная прословута Пролог машина може да се каже, че едикой си Пролог е езика на ОНАЗИ машина. А ако програмираш кафеварката си на C++, това няма ли да го прави кафеварски език?
| |
Тема
|
Re: Според мен
[re: ДъpвeнФилocoф]
|
|
Автор | :))) (Нерегистриран) |
Публикувано | 18.08.04 18:55 |
|
ami tochno tuk idva i ideiata za abstrakciata... razlichni niva ezici i t.n., koito se dokazva che sa ekvivalenti i t.n. ... turing-complete da ti govori neshto?
| |
|
... и какво?
| |
|
Прощавай, известно време се затрих в къщи, а там Интернетът не ходи...
Добре де, излиза, че колкото видове процесори, толкова и компютърни езици има, нали така? Няма лошо, но някои от тях дори нямат имена, или ако имат, само инженерите, които са ги създали, ги знаят. За практически цели (да речем, за създаването на текстов редактор) едва ли някой ги използва, да не говорим, че сигурно има хора, които дори не подозират за съществуването им.
Иначе предполагам, че си прав - в крайна сметка, без значение дали е написана на C или PASCAL, една програма в изпълнима форма представлява инструкции на машинен език. Апропо, не се опитвам да ти противореча на всяка цена, а просто казвам какво мисля.
П.П. Ако си склонен да обясниш за Turing-complete и еквивалентността на езиците, много ще се радвам, тъй като очевидно си по-сведущ. (OFF-TOPIC: Да си кажа честно, като прочетох "говори ми", се сетих един виц за Буратино. Но това е за друг клуб...)
---
Brain like a computer - keeps making fantastic mistakes.
| |
|
има машинен език - нулички и единички групирани в байтове. Той е уникален за всеки един процесор.
има асемблерен език - мнемонични инструкции, които могат да са различни за различните процесори, ама могат да са и еднакви. Този език се преобразува от специална програма в машинния за даден процесор език.
има език от високо ниво - инструкциите от него се обработват от специална програма "компилатор" и се превръщат в машинен език.
Та ако искаме да постигнем консенсус, нека просто кажем Prolog е програмен език от високо ниво. Ако искаме да сме съвсем в час, казваме и от кое ниво е този език от високо ниво.
А на чист машинен език от 30 години никой вече не пише. Затова някои неща се подразбират. И никой не си напряга мозъка да ги уточнява.
| |
|
... Има едно твърдение, наречено тезис на Чърч - Тюринг (беже недоказан, ако има промяна ще се развам да го науча) според което всеки алгоритъм може да се изпълни на машина на Тюринг. Има няколко абстрактни машини, еквивалентни една на друга, една от които е машината на Тюринг. Ако един алгоритъм е изпълним на нея, то това не зависи от начина по който е описан. В тази връзка ми се струва, че ника "усмивка" имаше предвид точно това.
Два формални езика са еквивалентни, трябва да са еквивалентни формалните граматики, които ги пораждат. Това би осигурило еквивалентен синтаксис. Е, в общия случаи това не е така, да не говорим, че зад даден синтаксис може в различните му реализации да има различна семантика.
| |
|
вярно си е. Но не съм съгласен, че не бива да си напрягаме мозъците да уточняваме. Защото ще се превърнем в елит от Знайковци и стадо от консуматори.
| |
|
По определение: Компютърен език е програмен език за даден клас компютри.
Примерче:
Българския език е славянски език. Но славянския език не е само български. И тук можеш да чуеш мнения как преди 1200 години разликите между езиците били по-малки. Аз не си спомням това време, не знам.
А ако мога да си позволя да перефразирам твоята мисъл, то Знайковците отдавна са станали елит от консуматори, а нови Знайковци няма. Или поне не са същите, както преди. Друга (а може би същата) тема за дискусия.
| |
|
Страници по тази тема: 1 | 2 | (покажи всички)
|
|
|