интересует мнение по след. вопросам: 1. почему яп много 2. недостатки распостранённых яп, которые раздражают лично вас 3. чего не хватает в том яп, которым вы пользуетесь 4. каким вы видите правильный яп 5. возможно ли попытаться создать универсальный яп (была идея написать компилятор с внешней таблицей импорта - бесконечно расширяемый)
1. Потому что никто, до сих пор, не может придумать как надо правильно писать программы. 2. Распространённые это C/C++/Java/PHP? Главный их недостаток -- это то, что их в большинстве случаев используют не по назначению, для решения задач, на которые они не рассчитаны. Но, по большому счёту, это не их недостаток. 3. Всего достаточно. Я б сказал что даже избыточность наблюдается. 4. Для чего правильный? 5. Попытаться возможно. Создать нереально.
- имеется ввиду, что мы только только начали и всё есчо впереди, современные языки далеки от совершенства, хотя большиство считают ( и так было во все времена ), что достигнут если не предел, то почти и все кто пытается создать что-то новое - дураки, мягко говоря
Потому что никто, до сих пор, не может придумать как надо правильно писать программы. ДА!!!!!!!!!!!!!!!!!! +666 1. Некоторые считают что удобство программирования важнее чем качество конечного кода - появляется разная шняга типа #C. Нет единого стандарта, нет "ООН" или организации как принято в научном мире - Fortran там всякий. Напейсание кода во-многом определяется туманными предпочтениями программиста но не четкими критериями (которых - выше - нет). 2. Ненавижу когда язык сделан для программиста а не чтобы писать лучший код. 3. Наверное библух грамотных ... а может я просто ленив их искать. 4. Предполагая наличие критериев типа "только на этом языке можно строить самый лучший код" язык может быть определен. 5. Ну если не язык то может быть опейсание алгоритмов на каком-нить стандарте который бы легко прилеплялся к другим языкам ... типа BubbleSort(IN ARRAY,ARRAY_SIZE,...) (без указания типов или в максимально общем виде).
Очень трудно предпочесть один яп когда всерано всё одинаково сводится к изучению англейского. Из-за этого даже ассемблер в сравнении с C++ не такая уж и жуть.
потому что никто не хочет\не может менять существующие языки, т.к. нужна совместимость с legacy кодом т.к. есть стандарты на некоторые языки и процедура их изменения слишком бюрократична С++ - куча проблем изза совместимости с Си проблемы изза кроссплатформенности, которая лично мне не нужна отсутствие нужных фич, типа строк в параметрах шаблона избыточный синтакис, типа template<typename T> class Foo вместо например class Foo<T> отсутствие нормальной интроспекции отсутствие нормального вывода типов (даже в С++0х) С# - нет шаблонов как в С++ (хотя вроде будут в следующей версии) общий недостаток многих языков - большая избыточность, надо несколкьо раз писать одно и то же, хотя можно было бы и не писать. это усложняет рефакторинг кода - надо вносить больши изменений это приводит к ошибкам, т.к. можно написать не то что надо см. п. 2 + в С++ нужны концепции. таким чтобы код на нем был надежным, удобным для внесения изменений, удобным для повторного использования должна быть мощная ИДЕ (sic!), т.к. отсутстие подсветки и ручной рефакторинг ведет к ошибкам язык должен иметь простой с точки зрения парсинга синтаксис, чтобы ИДЕ могла с ним справиться. У языка не должно быть строго определенного синтаксиса. Должна быть только строго определенная семантика. Тогда код с любым синтаксисом можно будет распарсить в одно и то же AST. Это позволит каждому программисту использовать свой любимый синтаксис, и ИДЕ сможет транслировать один синтаксис в другой, с сохранением семантики. Сейчас это практически достигнуто с помощью CodeDom в .NET - разные языки, например C# и VB.NET парсятся в один и тот же AST, и если бы они имели одинаковую семантику, их можно было бы свободно транслировать один в другой. да. но их должно быть несколько. как минимум язык со статической типизацией, и язык с динамической типизацией при этом их синтаксис и дизайн библиотек должен быть близок, чтобы не надо было переучиваться.
Delphi меня не устраивает только двумя вещами: 1. в нём встроенный ассемблер - тяжкое наследие TASM, соответственно, никаких .if , invoke и прочих друзей человечества в нём не предусмотрено. 2. он компилит только под платформу Win32. И не компилит, сцуко, под моё мабилко на Symbian 9.
GoldFinch Есть дженерики(как и в яве и во многих других), кодогенерация(t4). Шаблоны не нужны. Ещё нужно добавить в интерфейсы операторы, и будет вообще ляпота. Самый мощный язык это лисп, изучите его и поймёте чего нехватает в других. Универсальных языков не бывает, все универсальные проигрывают узкоспециализированным.
Booster дженерики С# не позволяют писать обобщенный код, они только для контейнеров шаблоны нужны для обобщенного кода и метапрограммирования времени компиляции лисп неюзабелен из за скобок
GoldFinch Никто не запрещает использовать дженерики и для обобщённого кода. Хотя там в основном используется перегрузка. Дело привычки.
книжку по лиспу выкинул, когда понял, что ни один человек, находясчийся в здравом уме, писать на нём не будет
Blackbeam Зря, на нём пишут. Но даже если и не пишешь, то изучить полезно. Это как ассемблер, но только не вниз, а вверх.
1. Много тех кто захотел написать свой го.вноскрипт. 2. Отсутствие контроля кода. Я не знаю что скомпилит любой скриптовый компиль и этим в достаточной степени нельзя управлять. 3. В моём хватает всего(масм). Ну почти, конечно макроязык хотелось бы погибче и багов поменьше, но это не проблема. В скриптах вобще отсутствует контроль создаваемого кода и средства управления, они не пригодны для решения моих задач. 4. Большое число макро. Низкоуровневый компиль. Точнее средства позволяющие на этом уровне управлять компиляцией. 5. Нет.
Если не знаете, нечего писать. То что вы чего-то не понимаете - это не недостаток того чего вы не понимаете, это ваш недостаток.
GoldFinch Так и не пишу. Я же скрипт не юзаю, знаете ведь. Причины выше описаны. Разница между нами в том, что может вы и знаете тотже си лучше меня, но вы нуб товарищ.
Booster Угу, троль у которого сдесь сообщений технических больше чем у вас всех вместе взятых. Судя по ним троль сдесь бустер.
2all а в чем смысл выбора одного асма и открещивания от скриптов или наобоорот выбор скриптов и открещивания от асма нужно и то и другое знать надо и то и другое инструменты себе и утилиты писать с простецким машинным кодом скрипты для этого именно как генераторы кода в самый раз подходят а что то изощренное нужен асм конечно я для себя вижу знание асма и потихоньку его учу чтоб юзать совместно с скриптами
опять вас понесло вчера по культуре была интересная киношка про французского балетмейстера, вроде того, смотрел не сначала и не до конца оказывается распознать в людях страх и неуверенность в себе легко, я и не знал, что люди ведут себя именно так, когда страх сидит в них, и как тяжело их избавить от этого...