>это ж что всмето мозга должно быть, чтобы не понять синтаксис лиспа?
это ж что всмето мозга должно быть, чтобы понять синтаксис лиспа?
=)
Возможно его не так сложно понять, как разобраться в чьем-нить коде. Без подсветки синтаксиса понять ничего не возможно( что-то более сложное чем (+ 1 2 3 4 (- 12 4)) ).
>> очень сложный и практически ни для чего не пригодный язык
>ну это уже следствие...
А много ли есть полезных программ на лиспе ? Я знаю две - emacs(и то он не полностью) и Maxima.
А объекты в C++ вообще супер - если имеется указатель NULL, и у него вызвать метод, сегфолт случится только тогда, когда попытаешься обратиться к какому-нибудь свойству этого объекта из этого метода. :)
>А много ли есть полезных программ на лиспе ? Я знаю две - emacs(и то он не полностью) и Maxima.
Ну какже, а автокад? =) Ах да, еще очень полезные проги с точки зрения пиара писал Пол Грэхэм и на волне пузыря доткомов весьма обогатился, однако реальность таки заставила все переписать в С++ и перле =)
лиспохульный боянъ. Синтаксис лиспа - это синтаксис языка программировния а не программируемого калькулятора, без знания бесика ты и в бейсиковом коде разберёшся точно также, лисп используется намного шире чем ты думаеш (за подробностями в гугель), наибольшее число полезных программ написано на коболе, откуда не следует что кобол хорош, наиболее потребляемый продукт питания - палёная вотка, откуда не следует что это самый вкусный и полезный продукт...
Зависит от задачи. Поскольку на данный момент занимаюсь разработкой корпоративных систем, больше всего не люблю сталкиваться с Си и Си++. Никакой ососбенной выгоды они не дают, а возни - немеряно.
>Значит на Java, C#, VB и PHP работать отказываешься. А теперь пойди почитай объявления о работе и найди что-то не из этого списка.
Спасибо, у меня есть работа :) Для меня программирование - это просто ещё один способ проведения исследований, поэтому могу использовать тот язык, который мне нравится больше.
>А кто нибудь может объяснить чем плох pascal или delphi?
Лично я не считаю сами языки плохими. Просто много "программистов" на них плохо пишет.
>Паскаль вроде бы примерно такой же как C, только синтаксис поприятней.
Ну, это с какой стороны посмотреть. Pascal от C++ (наверное, Вы имели ввиду его) отличается много чем. Когда-то я бросил писать на Паскале потому, что во-первых это НЕ объектно-ориентированный язык, во-вторых в нем нет шаблонов, а в третьих нет перегрузки операций. В Дельфи первое есть, остального нет.
Каждому языку своя задача:
Паскаль Вирт придумал в первую очередь для обучения программированию: понятность в ущерб всему остальному, поэтому он был идеален для преподавания основ лет этак 10 назад.
Дельфи отличный язык для написания интерфейса, который нужен срочно, а после завтра уже не будет нужен никому. Качество программы само собой никого не интересует.
С++ язык потрясающе гибкий, можно придавать почти любой смысл почти любой последовательности символов. ИМХО: удобен для написания компиляторов, программирования железа, перегрузка операций позволяет переносить математические алгоритмы в явном виде.
Java задумываласть как платформо-независимый язык, т.е. программа должна выполняться и на мобильнике, и на стиральной машине, под любой системой... Но на нем, лично мне, было чудовищно неудобно писать. Особенно из-за всяких ограничений внесенных по соображениям якобы "безопасности". Плюс программы работают медленно.
Еще не могу не отметить уродский VBA, довелось мне однажды какую-то программу на нем дорабатывать. Беда в том, что он допускает объявление переменных состоящих из русских букв! После этого переносимости с одного компа на другой просто НЕТ. А программу надо было довести до рабочего состояния. :(
Короче: язык становится уродским когда на нем написана программа перпендикулярная его предназначению, и Вы должны ею пользоваться.
>>Паскаль вроде бы примерно такой же как C, только синтаксис поприятней.
>Ну, это с какой стороны посмотреть. Pascal от C++ (наверное, Вы имели ввиду его) отличается много чем. Когда-то я бросил писать на Паскале потому, что во-первых это НЕ объектно-ориентированный язык, во-вторых в нем нет шаблонов, а в третьих нет перегрузки операций.
+1. Сам хотел спросить это. Потом передумал. Какие отличия можно считать принципальными ? Разумеется если подходить семантически да еще и на достаточно выскоком уровне абстракции, то да - оба языка практически одинаковы. Но на практике это далеко не так.
>назови принципиальные отличия C от Паскаля. не синтаксические.
Вспоминаем Линуса, который недавно писал: "Если бы мне нужен был язык, не позволяющий сделать что-нибудь неправильное, я бы выбрал Pascal."
Многие посчитали это комплиментом языку, но на мой взгляд дело совсем другом. Любой, кто пытался писать на Pascal после плотного общения с C непременно наталкивается на то, что язык не даёт, по крайней мере простого, доступа к низкому уровню.
Да, в языке есть такие приятные бонусы, как операции над строками и множества, но, например, чтобы инкрементировать букву приходится прибегать к двойному преобразованию.
Подводя итог, Pascal является языком более высокого уровня, чем "переносимый ассемблер" C (со всеми вытекающими). Лично я сам паскаль не очень люблю именно по той причине, что он не даёт делать "неправильный вещи" (даже если они на самом деле правильные, см. письмо Линуса).
> Подводя итог, Pascal является языком более высокого уровня, чем "переносимый ассемблер" C (со всеми вытекающими).
Ну и в чем он более высокого уровня? В том, что есть опереации над строками и кастрированные множества? Да, кстати, какой паскаль рассматриваем?
> Лично я сам паскаль не очень люблю именно по той причине, что он не даёт делать "неправильный вещи" (даже если они на самом деле правильные, см. письмо Линуса).
Может язык не соответствует решаемой задаче? Или настоящий программист на любом языке пишет как на Фортране?
> Вспоминаем Линуса, который недавно писал: "Если бы мне нужен был язык, не позволяющий сделать что-нибудь неправильное, я бы выбрал Pascal."
Я так понимают Линус не сильно хорошо знаком с современными языками программирования (разрабатываемыми сейчас).
>Ну и в чем он более высокого уровня? В том, что есть опереации над строками и кастрированные множества? Да, кстати, какой паскаль рассматриваем?
Работой с памятью и наличием "сложных" типов и операций над ними. Тот же union реализовать, насколько мне известно, непросто. Про адресную арифметику тоже верно подмечено.
Конечно, извратиться можно как угодно, но напомню, что на qbasic45 можно было написать резидента или непосредственно вызывать прерывание. Это не делает его языком низкого уровня.
В диалектах паскаля я не разбираюсь, сам давно писал на Turbo Pascal. Но я говорю, разумеется, не про object pascal.
>Может язык не соответствует решаемой задаче? Или настоящий программист на любом языке пишет как на Фортране?
Хотел написать про ниши, но решил, что это и так очевидно.
А в моей жизни места паскалю нет: если захочу более приятной работы со строками, то возьму тот же Python (и сделаю модули на C).
> Работой с памятью и наличием "сложных" типов и операций над ними.
ссылку по этоу теме можно - а то я видно паскаль подзабыл - особых отличий от С (кроме адресной арифметики) не помню. (А Integer в Pointer в паскале можно преобразовать?)
> написать резидента или непосредственно вызывать прерывание.
Это в ДОСе как вызов системных функций в современных ОС.
>ссылку по этоу теме можно - а то я видно паскаль подзабыл - особых отличий от С (кроме адресной арифметики) не помню. (А Integer в Pointer в паскале можно преобразовать?)
> У языка с такими ограничениями на мой взгляд немного другая ниша.
С такими ограничениями максимум - для обучения. Хотя для обучения программированию есть куда как лучшие языки (хоть тот же питон, если по ками-то причинам Scheme, Ocaml или Haskell не нравятся).