статьиGNU Free Documentation License материалы взяты из Википедии Статья была изменена. Оригинал статьи.

Обсуждение:Язык программирования

Материал из Энциклопедии в свободной энциклопедии
Перейти к: навигация, поиск
Vista-abiword.png
Статья «Язык программирования» входит в общий для всех языковых разделов Энциклопедии список необходимых статей.
Её развитие вплоть до статуса избранной является важным направлением работы русского раздела Энциклопедии.

Содержание

[править] .NET

.NET в это не язык программирования, а технология. Имхо, здесь ему не место.

Да ты не стесняйся в убирай если видишь что не в тему. А ещё лучше в правильное вставляй :) И подписывайся в комментах, вот так: MaxiMaxiMax 12:13, 28 Июн 2004 (UTC)

[править] Русификация названий языков

Есть ещё несколько языков, названия которых вполне можно писать по-русски:

Forth Форт
Simula Симула
Occam Оккам
Delphi Дельфи
Erlang Эрланг

Форт и Симула точно встречались в советских книжках. в Monedula 10:22, 1 августа 2005 (UTC)

Да, это так, Форт и Симула писались в советских книжках по-русски. Однако, в настоящий момент налицо тенденция записывать названия языков программирования по-английски. И по-моему это довольно правильно. Можно провести аналогию с латинскими названиями в медицине и биологии. Их никогда не транскрибируют, предполагая, что читатель достаточно подготовлен, чтобы прочитать латинские буквы. Латинское наименование служит в этом случае единым идентификатором, исключающим любые разночтение. В программировании роль латинского языка несомненно принадлежит английскому. По этой причине я полагаю, что такие вещи, как названия языков и технологий, нужно записывать в их исходном виде - по-английски.
Кроме того, как я уже писал в более общем обсуждении, в случае Форта, Ады и Джавы/Явы мы получаем ложные смыслы:
* Язык Форт не имеет отношения ни к форту-крепости, ни к фортификации, ни вообще к военному делу
* Язык Ада - это не язык, на котором общаются черти
* Язык Ява никак не связан с сигаретами. А вот с кофе - связан, но русское слово Ява с кофе не ассоциируется --evgop 11:08, 1 августа 2005 (UTC)
В биологии латинские имена не заменяют русские, а только дополняют их в обычно латинское название пишут в скобках после русского. А «ложными смыслами» вообще мало кто заморачивается в ведь живём же мы с таким словами, как «ключ» или «лук». в Monedula 12:04, 1 августа 2005 (UTC)
Вы оба правы. Надо лишь решить, что соответствует целям Энциклопедии. Ramir

[править] Определение

По-моему определение : "....Язык программирования формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например компьютера)...." не совсем правильное. Если бы мы писали алгоритмы в форме, удобной для исполнителя, то мы бы писали вот так 00111011011101110111....

Абсолютно согласен. Да и удобство - понятие весьма субъективное.. Зато не указано, что ЯП испольуется для создания программ для ЭВМ. И почему "_например_ компьютера" ?? Есть языки программирования НЕ для компьютеров??? А под текущее определение подпадают например блок - схемы, которые мы рисовали на уроках информатики..
Конечно есть. Те же микроконтроллеры сложно назвать компьютером. Goryachev 15:00, 27 января 2010 (UTC)
  • Есть вполне рабочее определение из стандарта ИСО 2382-1 "Information technology -- Vocabulary"

01.05.08. Язык (в программировании)
Множество Литер (01.02.11), условных знаков и правил, которые используются для передачи Информации (01.01.02).
01.05.09. Естественный язык
Язык (01.05.08), правила которого основаны на текущем использовании без их точного предварительного описания.
01.05.10. Искусственный язык
Язык (01.05.08), правила применения которого точно установлены до начала его использования.
01.05.11. Язык программирования
Искусственный язык (01.05.10) для точного описания Программ (01.05.01).

--Dingecs 16:37, 27 января 2010 (UTC)

[править] Mesa - не язык

The Mesa 3D Graphics Library Интересно, какой троль его сюда занес ? Уберу его, как выше советуют. --Evgen2 23:20, 29 марта 2006 (UTC)

[править] Mesa - язык

Смотреть надо внимательнее, прежде чем лезть с правками очертя голову. S.Felix 08:48, 20 декабря 2006 (UTC)

[править] Удивительное рядом

Один C, один C++ и два бейсика - qbasic и Visual Basic. Может таки это разные реализации одного языка и стоит заменит на просто Бейсик ?--Evgen2 23:33, 29 марта 2006 (UTC)

Это два разных языка. Не стоит их удалять.
Почему не подписываемся ? Почему разные языки ? и чем qbasic таким особенным от gw-бейсика или турбо-бейсика или что там еще было отличается ? А почему MS QC1.0 и, например, Analog Device C for DSP - это один язык ? И с паскалями тоже кстати. Не надо путать отличия в реализациях, версиях, диалектах и языках. Во! был же еще ВАСИК! В котором все команды были на русском. Еще то чудо ;-)--Evgen2 17:00, 30 марта 2006 (UTC).
Забыл подписаться. А разница между qbasic и Visual Basic заключается хотябы в том, что программу написанную во втором не скомпилится компилятором первого. Плюс, насколько я помню QBasic не имеет никакой обьектной модели, да и вообще разница между этими языками достаточно велика. --EvilBot 17:21, 30 марта 2006 (UTC)
Ну так «программу написанную во втором не скомпилится компилятором первого» - стандартное явление в C/C++, Паскалаях, Ассемблерах и т.п., больше того, может оказаться что и компилятор один, и программа одна, а вот фигвам, потому как «разные ключики», например - 16 бит и 32 бита. И процесс есть борьбы с этим - Портирование называется. --Evgen2 09:13, 31 марта 2006 (UTC)
Ну это конечно была грубая аналогия. Но а остальные мои аргументы имеют право на жизнь? --EvilBot 09:37, 31 марта 2006 (UTC)
Имеют, почему не имеют. Но я б все-таки из списка языков программирования убрал qbasic - он точно подходит под диалекты basic'а (и я что-то из этой оперы еще помню ;-)). Плюс эээ..вот раз в списке есть sh как язык программирования - это как бы несколько неправильно, потому как оно коммандный процессор. Тогда надо в список добавлять command.com из dos с языком бач(бат)-файлов, cmd.exe и 4os2 из OS/2 и много всякого прочего. По идее, если есть энтузиазм - надо отдельно дать описание коммандных процессоров и используемых ими языках, которые близки к скриптовым, но не совпадают с ними полностью. --Evgen2 17:36, 31 марта 2006 (UTC)

[править] Компилируемые и интерпретируемые языки

Неправильно говорить, что языки являются компилируемыми или интерпретируемыми. Такими бывают реализации языков, а не сами языки. См. Programming language implementation в английской Энциклопедии. Это относится и к статье «Программирование» --Anton Khorev 16:59, 18 августа 2006 (UTC)

  • Полностью согласен. И весь параграф стоит переписать соответственно. Более того, языки могут быть реализованы как интерпретаторами, так и компиляторами. И практически всегда остаётся немного "остаточной интерпретации".--myke 11:24, 10 февраля 2010 (UTC)

[править] Сомнительно

"Расширение набора используемых символов сдерживается тем, что многие проекты по разработке софта являются международными." Всё с точностью до наоборот. в Тжа0.

А поподробнее можно? в Monedula 16:51, 22 июня 2007 (UTC)
Честно говоря, не ожидал от Вас такой тормознутости, хотя с гс2пу-лингвистами у меня давно нелады. Вы, как басенный герой, в «слона-то я и не приметил»/<з/в>/в. Это же концепт Энцикло: тем больше людей участвует в тем больше новых идей и тэстинга. в Тжа0.
...И тем больше ограничений. в Monedula 17:39, 22 июня 2007 (UTC)
Ладно, Вас не переубедиш: хоть кол на голове теши/<в>. Ограничения убираются: об этом вся история компъинженерии. в Тжа0.

[править] Откат

Откатил строчку "В современном мире самыми популярными языками программирования являються:Paskal,C++,Delphi": не обосновано (я считаю утверждение ложным) (кроме того, две орфографические ошибки). Sasha1024 19:43, 25 декабря 2007 (UTC)

[править] Cтатья Крис Касперски - Языки, которые мы потеряли -- весьма безграмотна

Статья Крис Касперски - Языки, которые мы потеряли содержит массу принципиальных ошибок, которые постоянно приводят автора к весьма неадекватным выводам.

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

Вот несколько примеров.

Первый ляп - первое же предложение после вступления: «Язык Си++ (а вместе с ним и его многочисленные «преемники») уже давно не является объектно-ориентированным языком и доэволюционировал до метапрограммирования, более известного как программирование с использованием шаблонов».

Вообще-то метапрограммирование - «создание программ, которые создают другие программы как результат своей работы» - никак не совпадает с «обобщённым программированием с помощью шаблонов» (как называет его Бьерн Страуструп). Функциональное метапрограммирование с использованием шаблонов в с++ - лишь частный побочный эффект возможностей, предоставляемых шаблонами, совсем не обязательный при обобщенном программировании и применяемый на практике довольно редко.

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

Цитата свидетельствует о том, что автор явно полностью не понимает механизм шаблонов в с++ (зато питает к нему выраженную антипатию)). Шаблоны с++ - механизм чисто статический (т.е. поведение, определяемое ими, "как и в старые добрые времена" всегда уже полностью сформировано к моменту начала выполнения программы). Если метод класса, используемый в шаблоне не определён - это вызовет ошибку компиляции, но никак не сбой в runtime (если метод определён, но правильное поведение в нём не реализовано - это банально грязный недописанный код, вероятность появления и "использования" которого абсолютно не зависит от применения ООП или шаблонов). Полиморфизм (все средства ООП) и шаблоны в языке с++ - независимые механизмы, не опирающихся друг на друга, хотя и наиболее полезные при совместном применении. Другими словами вполне можно представить себе Си с шаблонами или с++ без них.

Замечу от себя, программируя уже более 7 лет на с, с++, java и других объектных, необъектных и функциональных языках и поневоле сравнивая их между собой, могу сделать вывод, что основная сложность и "опасность" языка с++ проистекает как раз из стремления сохранить в нём весь "старый добрый" низкоуровневый арсенал - неинициализированные данные, неконтролируемые указатели, ручное распределение памяти, "сырое" приведение типов и прочее. Именно необходимость уживаться с этими средствами способствует легкости совершения на этом языке каверзных, незаметных и труднодиагностиремых ошибок, особенно для новичков.

«... язык (с++) настолько обширен и объемен, что его изучение требует невероятных усилий. Чтобы окупить средства, вложенные в разработку компиляторов, фирмы вынуждены «подсаживать» на него миллионы программистов, которые, пройдя длительный (и ужасно мучительный) путь обучения Си++, просто не могут признаться себе в том, что напрасно убили десять лет своей жизни (данной человеку лишь однажды!) и что стоящие передними задачи с ничуть не меньшей эффективностью реализуются на чистом Си и других процедурных языках, легко осваиваемых на ходу без отрыва от производства. Вот они и начинают убеждать остальных, что процедурные языки давно мертвы. Сложность ради сложности.».

Это тоже по-просту не так. Затраты на базовое, но вполне адекватное освоение с++ практически равны сумме затрат на базовое освоение языка Си и основных концепций ООП. Проверено не раз, в том числе и на себе. К тому же с++ - процедурный язык, он обладает почти полной обратной совместимостью с Си, так что говорить о принципиальной сложности изучения или применения с++ по сравнению с Си просто бессмысленно (ведь никто в конце концов не заставляет автора использовать именно ненавистные ему полиморфизм или шаблоны). Именно такая простота освоения и обратная совместимость (а не глобальный заговор корпораций)) способствовала быстрому и широкому распространению языка с++.

Итак, статья представляет собой неприкрытый флэйм чистой воды, не достойный упоминаться здесь. Удаляю ссылку. в mas 195.34.254.6 19:06, 20 мая 2008 (UTC)

[править] Новый язык программирования "Church"

Прочитала в инете про новый язык программирования. Вот сЦылочЧкО (ссылка убита мной как спамерская --Bilderling 10:40, 2 апреля 2010 (UTC)) Можно его добавить в список языков?

С уважением, ТанечЧкО 217.132.109.3 09:18, 2 апреля 2010 (UTC)

Что-то совсем мало информации по вашей ссылке написано. Я так и не понял что за язык. Но было бы здорово, если бы вы написали о нем статью. -- X7q 09:44, 2 апреля 2010 (UTC)
А я это ... писать не умею типо. В третьем классе мАзги свои на булочЧку променяла 217.132.109.3 10:32, 2 апреля 2010 (UTC)
Коллеги, это спам/троль. В нескльких обсуждениях одно и тоже, надо откатывать сразу. --Bilderling 10:39, 2 апреля 2010 (UTC)

[править] Редактирование раздела См. также

Думаю, будет полезно указать в розделе [См. также] Энциклоссылку на страницу Прогопедия в энциклопедия языков программирования. Стоит ли ее ставить, а если стоит, то вместо чего ее можно поставить? Розширяя (удлинняя) колону получится просто нагромождение текста. в SerjHL 22:22, 12 августа 2011 (UTC)

[править] Отчёт бота WebCite Archiver

Бот WebCite Archiver просмотрел текст статьи и внёс в неё следующие изменения. 1 шаблонов {{citeweb}} были дополнены ссылками на только что созданную архивную копию материала. Оставшиеся ссылки были пропущены по различным причинам. Далее приведена детальная информация.

Спасибо за внимание! WebCite Archiver 04:08, 22 августа 2011 (UTC)

Пространства имён

Варианты
Действия