singlepost

Имеет ли значение язык программирования? << На главную или назад  

Часто можно слышать "пешу за что плотят" или, например, что все языки программирования абсолютно одинаковые.

С одной стороны, да, одинаковые. Все они так или иначе позволяют производить какие-то вычисления (если не позволяют, то быстро, решительно отправляются в топку). Инструмент, короче.

С другой стороны, все-таки разные. ЯП + экосистема (состоящая из библиотек и людей, которые чем-то там занимаются) — это тебе не хухры-мухры. Да и сами по себе ЯП: сравните программирование на Си, на Лиспе, на XSLT. Стили отличаются, задачи и проблемы отличаются, методы их решения тоже отличаются.

Отсюда вопрос из сабжа: а есть ли разница? ИМХО да, есть, и выбирать надо самый выразительный язык (хотя есть и другие факторы, например, наличие уже готовых, проверенных библиотек — т.е. codebase, часть той самой экосистемы).

Жду откликов. :)

47 ответов в теме “Имеет ли значение язык программирования?”

  1. 35
    Антон Кононов ответил:

    #32: да я UnrealSpeccy (для тех кто не в курсе это эмулятор спектрума) скачал только для того, чтобы звучок загрузки послушать. Вот чиста ради прикола ждал 5 минут пока загрузится Action Reflex (картиночка так по линиям вырисовывается =)

  2. 34
    Антон Кононов ответил:

    laser basic – название знакомое но не вспомню полюбому что за зверь такой

  3. 33
    Egor Zvigunov ответил:

    ну я еще на том бесике какие то гамы писал и машинки рисовал с листика в клуточку, ваще забавная платформа как вспомню…А кто нить юзал Laser Basic???

  4. 32
    Александр Яковлев ответил:

    эт точно

  5. 31
    Дмитрий Соколов ответил:

    #31: А звуки-то какие были неповторимые!
    Ни один бешеный модем потом таких выдать не мог, хотя уж на что модемы были девайсы голосистые ;)

  6. 30
    Антон Кононов ответил:

    #28-30: кассеты… 5 минут грузится игра) иногда не грузится

  7. 29
    Дмитрий Соколов ответил:

    Дык у самого такое было)

  8. 28
    Кирилл Быков ответил:

    Но-но! Нормальное деццтво! :-D

  9. 27
    Дмитрий Соколов ответил:

    "Тяжёлое детство, восьмибитные игрушки" (С) ;) ))

  10. 26
    Кирилл Быков ответил:

    Вчерась кодил в машкоде Z80, вспоминал деццтво…

  11. 25
    Deleted Deleted ответил:

    А я бы сказал, что ассемблер – это тупо штука для того, что-бы не надо было программисту держать в голове кучу машинных кодов, которые "понимает" процессор, и не более того ;)

  12. 24
    Александр Пинский ответил:

    Я бы сказал, что asm это что-то из восточных учений – через аскетизм и медитации достигается просветление )

  13. 23
    Сергей Алирзаев ответил:

    асм – атеизм

  14. 22
    Александр Яковлев ответил:

    Malbolge – протестантизм,Assembler – мусульманство…

  15. 21
    Антон Кононов ответил:

    2 Александр The_Grey Яковлев:

    а, кстати, прикольная была бы темка разбить языки программирования на религии)) типа Си – это язычество, паскаль – христианство =) ну или как-то так

  16. 20
    Александр Яковлев ответил:

    Ну согласен,я не очень хочу переводить Linux на Brainfuck :-)
    а религия…ладно,вычтем COBOL и Basic.

  17. 19
    Aliex Lukyanov ответил:

    2 Артём Матвеев

    Это не жадность, это гибкость!
    Если клиент чего-то хочет необычного и готов за это платить – это лучший клиент для меня =)

  18. 18
    Артём Шалхаков ответил:

    2 Дмитрий Матвеев
    >разница есть
    угу, она не может не есть ;)

    2 Aliex Lukyanov
    >если дадут мильён, то пожалуйста – хоть на асме под Z80
    жадность не есть гут %)

    2 Александр Яковлев
    >Можно даже на Squirrel ось замутить.Все языки же тьюринг-полны.
    Это в теории. На практике, будучи прижатым рамками требований к рантайму, остается только Си или Форт.

    2 Александр Городилов
    >А так вообще не принципиально на каком языке программировать, синтаксис разный а смысл один и тот же.
    Вы видели Clean, Standard ML, Forth, Prolog, Smalltalk? Там "очень" другое понимание складывается. :)

    2 Андрей Петров
    >язык уже вторичен, все равно все в итоге транслируется…
    2 Александр Яковлев
    >Кодер он и есть кодер,ему всё равно на каком языке кодить.
    А как же пристрастия, как же религиозные убеждения? %) Ведь неприятно же писать на языке, в котором сплошь грабельки, сплошь kludges, сплошь хаки…

    2 Антон Кононов
    >ты в своем посте отвечал не на вопрос топика, а имхо, на вопрос: какой язык лучше (или какой универсальнее).
    Нет-нет. Никаких холиваров. Пусть никто не уйдет обиженным!
    В Вашем посте говорится о language interoperability (что тоже интересная тема), но "все заворачивать в классы" это недальновидно. Из этого вот стремления выросли COM/DCOM/etc, а теперь уже SOA.

  19. 17
    Кирилл Быков ответил:

    #3 На Z80 асме BD… респект и уважуха :-D

  20. 16
    Сергей Алирзаев ответил:

    Посмотри на Haskell и почувствуешь разницу

  21. 15
    Антон Кононов ответил:

    #1: ты в своем посте отвечал не на вопрос топика, а имхо, на вопрос: какой язык лучше (или какой универсальнее).

    Ну что ж выскажусь.
    Сейчас си и паскаль перетекают на точка.нэт, в связи с этим границы между тем же, например, J#, C#, Basic#, Delphi# – стираются.

    В принципе можно говорить о некотором универсальном языке программирования под кодовым словом .NET

    Понятно дело, что это еще не финал и придумают еще более универсальный механизм (как ява перешла в шарп). Но тут тенденция видна невооруженным глазом: все заворачивать в классы.

    Такой классовый механизм прост для понимания (если не копать вглубь класса), соответственно легко писать.

    PS Лирическое отступление: я когда-то хотел написать игрушку (думаю у многих был такой момент жизни), начинал с ZX80 Basic, потом Pascal, C++, Delphi. В дельфи я начал использовать классы (до этого как-то без них ;) и мне казалось что игрушка в итоге будет чем-то вроде набора классов типа солдат – это класс от человек – а он класс от движущийся объект. Но потом я увидел BlitzBasic. =) С детства у меня было предвзятое отношение к бейсику как к простому языку, но блицбейсик действительно прост. Я за 2 дня на нем написал игрулю, которую хотел сделать много лет, но не хватало терпения :)

    Так что, возможно, дело не в универсальности, а в узкой специализации языка, как многи ораторы уже подметили выше.

  22. 14
    Александр Пинский ответил:

    Разница между языками есть, но она заключается только в том, что для разных задач какие-то языки подходят больше, а какие-то меньше.
    На работе пишу на чём скажут – я, в конце концов, звено исполнительное и решний о выборе технологий не принимаю.

    2 Алексей Cheat Злобин
    <Во-первых политика писать на том, за что платят, подразумевает, мягко говоря, малоквалифицированную работу, чисто в силу того, что любой язык осваивается до приличного уровня отнюдь не за день-два.>
    Есть ещё такая вещь, как требования проекта.
    Скажем, сейчас я работаю на проекте на Питоне, хотя сам этот язык не люблю. Почему? Начальство направило на этот проект – не буду же я упираться и посылать их подальше.

  23. 13
    Владимир Палицын ответил:

    Как верно подмечено выше, всё под свои задачи.

  24. 12
    Александр Яковлев ответил:

    Кстати,да – язык это вторично.Кодер он и есть кодер,ему всё равно на каком языке кодить.А вот уже что кодить,от языка не зависит.Можно сделать офигенный код,но дурацкую программу.

  25. 11
    Андрей Петров ответил:

    #11
    Не согласен в корне, квалификация программиста определяется отнюдь не глубиной знания конкретного языка, иначе он не программист, а кодер. Есть такие вещи как алгоритмистика и Computer Science, их нужно знать в первую очередь, а язык уже вторичен, все равно все в итоге транслируется в ассемблер, ну или, в случае интерпретируемых языков, исполняется чем-то, что в итоге оттранслировано в асм конкретной машины.

  26. 10
    Алексей Злобин ответил:

    Во-первых политика писать на том, за что платят, подразумевает, мягко говоря, малоквалифицированную работу, чисто в силу того, что любой язык осваивается до приличного уровня отнюдь не за день-два. Во-вторых мазохистов не понимаю :)

  27. 9
    Сергей Багрецов ответил:

    У них разные назначения! Например: Delphi-СУБД, БД. Pascal-вообще не в щет.

  28. 8
    Александр Городилов ответил:

    Для решения конретной задачи как правило выбирают среду разработки и соответсвено выбирается язык, поскольку у любой среды есть органичения на круг задачи которые можно реализовать с помощью нее.
    А так вообще не принципиально на каком языке программировать, синтаксис разный а смысл один и тот же.

  29. 7
    Сергей Сальников ответил:

    В обычной жизни Язык – это средство выражения. Много ли можно выразить со словарным запасом эллочки-людоедки?

    Так и в программировании – предоставляемый языком словарный запас позволяет соотвественно выразить идеи.

  30. 6
    Egor Zvigunov ответил:

    Есть, все зависит от задач который перед тобой стоят. Веб – выбираем джаву или шарп, приложение или драйвера Си или плюсы.

    Александр Золотаревский – с вами не согласен, вы с утечками памяти сталкивались в этом же языке? Как я понял вы поклонник паскаля, так вот, это язык мертвый, и годиться разве что для универов для обучения, хотя и тут можно поспорить.

  31. 5
    Дмитрий Соколов ответил:

    А вот и созданный тред :)

    Разница есть, это несомненно, только в этой разнице есть очень солидная доля субъективизма :) Вот и всё…

  32. 4
    Александр Яковлев ответил:

    ну это уже целые серии программирования,концепции. Например,Си++ и Ява одинаковы в объектно-ориентированном программировании…ява разве что абстрактнее.Лисп и Си сравнивать – недоброе дело,языки очень разны.
    Сначала вы выбираете,по какой концепции программировань: ООП,имеративное,функциональное и т.п.,а потом уже язык.Можно даже на Squirrel ось замутить.Все языки же тьюринг-полны.

  33. 3
    Александр Золотаревский ответил:

    Главное "достоинство" Си: что бы ты не написал, с точки зрения синтаксиса почти всегда будет правильно, т.к. есть возможность выразить всё, что угодно, и в самой краткой форме! А что эта программа реально делать будет – зависит от того, насколько ты внимательно прверил КАЖДУЮ БУКВУ написанного тобой кода! Тем, кто его придумал и задавил Паскаль – гореть вечно в аду!
    На эту тему: чем будет заниматься в аду Билл Гейтс? – дебажить виндос…

  34. 2
    Дмитрий Матвеев ответил:

    разница есть

  35. 1
    Aliex Lukyanov ответил:

    Конечно есть! Все действительно зависит от задач. Сам я бы низачто не стал бы писать какую-нить БД на C или жаве, НО если дадут мильён, то пожалуйста – хоть на асме под Z80 =)

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.