|
Тема |
относно архитектурата и програмния език [re: popitko_anon] |
|
Автор | Учeниka (Нерегистриран) | |
Публикувано | 06.02.01 09:07 |
|
|
Съждението, че С/С++ се приближава до архитектурата е повече от абсурдно. Целта на един съвременен език за програмиране от високо ниво е да "скрие" архитектурата, а не да те доближава до нея. С е създаден не за съвременните микропроцесори, които познавате, а за съвсем друга категория машини, и е бил създаден, за да се напише Unix. Така че следващото твърдение за соурса на Linux като аргумент в защита на С/С++ е като да сложиш каруцата преди коня.
Изискванията към един универсален език за програмиране (защото има и специализирани) са:
* наличие на различни структури и типове даннни, вкл. и възможност за дефиниране на собствени.
* управляващи конструкции, позволяващи структурно програмиране (не го противопоставяйте на обектно-ориентираното - те взаимно се допълват).
* блокова(модулна) структура - тук се включва изискването за ООП
* рекурсия
Вземете публикации на Димитър Богданов. Прави добър анализ и сравнение на езиците ПАСКАЛ и С++.
И не бъркайте компилатор с език. Компилаторът приближава езика до архитектурата. Така че можете да имате разкошен език като структури данни и управляващи конструкции (Алгол 68), но да нямате компилатор, който да го реализира.
Иначе спорът за С/Паскал е като спора за яйцето и кокошката.
В края на краищата всичко се свежда до машинен код. И важен е методът за програмиране, който ще избереш, или доколко правилно и далновидно ще дефинираш собствените си структури данни, за да ти работят стабилно и надеждно независимо от нарастването им. Замислете се колко от вас правят нормализация на базите си данни, както е указано в литературата. Или какво нововъведение са направили в алгоритъм за числено диференциране, за да бъде той устойчив и достатъчно точен. Това са все методи за програмиране. Реализирайте ги ако щете на BASIC или FORTRAN. Подобни примери могат да се дадат много. И който е отварял някоя книга от рода на "Теория на алгоритмите", ще ме подкрепи.
|
| |
|
|
|