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

Материал из Lurkmore
Перейти к навигации Перейти к поиску

Друзья, это бесполезный спор!

Было много абсолютно винрарнейших языков программирования. Был и классический С и приплюснутый. Был фортран и перл. Но времена меняются, глупо это отрицать. С# уверенно завоёвывает передовые позиции и это не удивительно. Он универсален, кроссплатформен, имеет мощнейшую поддержку в лице M$. А учитывая винрарность их последних продуктов, в частности операционной системы, много ньюфагов обратят взор в первую очередь именно на него, а не на эти ваши плюсы с джавами. Вопрос времени.

Офисный планктон

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

unlambda

ну какой мудак пилил раздел про unlambda? в ней нет лямд, совсем. осиль, нет, даже не описание языка, а хотя бы его название: unlambda

P.S. Пришёл, проверил. Стало не лучше. Иди пиши статьи про Сергея Зверева, мудлан.

haskell

Мда, быдлокодеришко запилило раздел про haskell. "Монады это костыль", бля. Убей себя и не пиши больше ничего. Монада IO -- это элегантный способ обойти _настоящие_ исторические костыли типа interact и uniqueness types, о которых ты и не слышал. И монадки наряду с Applicative это _общий_ интерфейс, которым можно не только "Hello world" в сосноль выводить (что является потолком для долбоёбов вроде автора статьи), но и мимоходом реализовать логическое программирование, парсинг и хоть Аллаха.

разговорчики-с

Что-то scala не видно. пичаль

Го тоже тут нет.
а JavaScript-то, JavaScript, товарищи? запилите в быдлоязыкы!
щито? автору предыдущей реплики предлагается пояснить свои познания и опыт применения оператора `yield` перед подобными предложениями.

В смехуёчки, однозначно!

Что это за херня некомпилируемая из никому не нужных бездн баша в начале статьи стоит?

Черт, только хотел об этом здесь написать: «Что за хуйня в эпиграфе? На C нельзя такого написать. Как минимум: 3DC — недопустимый литерал, постфиксного унарного минуса в C также нет.»
Ну и P("\n").R-, даже если ‘-’ на ‘--’ исправить, все равно будет невалидно. Потому что возвращаемое из функции значение — это rvalue.
Точка в си - это не обращение к полю объекта. Там нет объектов. Это обращение к полю структуры/объединения (которую возвращает функция P(char[])) которое можно дикрементить без проблем (coord.x++). В чём невалидность-то?.
вот оригинал:
for(;P("\n"),R--;P("|"))for(e=C;e--;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);
Там не точка, там повсеместно забытый оператор "запятая".

Img.Request

Картинки по истории ЯП стары как говно мамонта. Требую более свежых.

Это просто пиздец. Вспомнили всякие Ады и Лиспы, который и нахуй никому не тарахтели уже лет 20 как.

Толстовато.

С

Что С делает в списке низкоуровневых языков? Это нормальный высокоуровневый процедурный язык типа Паскаля. Если считать Си низкоуровневым то низкоуровневым является любой язык с указателями то есть практически все языки. Я конечно, понимаю что от этих слов у сишников появляется жжение в жопе но это плять дешевые понты и не более. Все что можно написать на Си можно написать на том же Паскале ;)

не появляется, ибо толсто
Вообще, ни хрена не толсто. Про сорта говна говорить скучно, но Pascal-C друг с другом на одинаковом уровне. Да, и вообще, в "няшной сишке" - вся няшность в коммьюнити, а не в языке как таковом.
Хоть паскаль и того же уровня, что и си, это не мешает ему делать вид, что машина тут не причём. Си же и выглядит, и работает как язык системного программирования.
Коммьюнити конечно же образовываются чисто случайно.
Адресная арифметика, *p++,
так пишут на Си и Асме, и не пишут на Паскале.


Дело в том что С является промежуточным языком между низким и высоким уровнями, иногда даже называют "средним". В программировании "низкий уровень" - не означает плохой, имеется ввиду "глубина" системы. На языке высокого уровня к командам процессора не обратиться.

Борландовские паскали вполне себе позволяют обращение к командам. Но дело не в этом. Pascal создавался как язык для студентов. Вирт, между прочим, был принципиальным противником указателей, потому что если есть массивы, то указатели не нужны (дурень, все индексы в массивах имеют тип int, а указатели могут быть различных типов -- какая-никакая, а статическая проверка кода на вшивость). И в паскале много таких неловкостей. Например, enum или char: в паскале надо принудительно приводить enum/char к int. Потому, что это труЪ. Кернигану с Ритчи было похуй на "труЪ", они знали, что enum реализуется целыми числами и char тоже, и проводить границу между целыми и enum/int им даже в голову не пришло. Проверка массива на выход за границы: подчастую она не нужна, поскольку алгоритм гарантирует, а иногда она мешает, иногда удобно выйти за границы массива вверх или вниз. Деление функций на процедуры и функции -- можно было бы предположить, что Вирт предвидел, что оптимизирующие компиляторы станут умнее и смогут кешировать вызовы "чистых" функций, но его функции синтаксически не привязаны к "чистоте". То есть он добавил это для той же "труЪшности" Это навскидку, что вспоминается. C же, по сравнению с ассемблером, делает за программиста ровно одну вещь: последний этап трансляции программерской мысли в код. То что, при этом C упрощает написание функций, циклов, обращение к локальным переменным и проч. -- это побочный эффект.

причина создания

сравните стаьи программист и быдлокодер. Не заметили два одинаковых раздела?

сейчас разные академические языки будут требывать ^_^, я бы начал с фортрана aziatkofag 13:56, 3 июня 2010 (MSD)

Где PERL, блджад? Или автор о таком не слышал?

Имеется мнение, что автор - макоеб. И таки да, чего то статья отнюдь не нова.

Python настолько Ъ быдлоязык, что о нём в разделе упомянули 2 раза, лол.

Что за бред? Решили вспомнить старое? Да и SQL можно назвать языком с очень большой натяжкой.

Вы говорите что SQL невозможно программировать. По-моему вы просто жутко наелись конфет

Программировать там можно, но попробуйте, к примеру, написать хотя бы простенькую игру на SQL.
сиквел это язык доступа к данным, он выдает набор данных, какие нах программы вы на нем напишете? для программирования используют процедурные расширения конкретной субд (если они там есть)
sql - не язык программирования. это информационно-логический язык. с тем же успехом можно назвать язык запросов в google языком программирования. тем не менее, почти все реализации расширяют sql до процедурного языка программирования. для примера, фрактал мандельброта на t-sql.

Расовые расчетчики выбирают Фортран!

Это просто тупо спискота. Тому кто знаком с программированием это нахуй неинтересно читать. Тем кто в танке — тем более неинтересно.

Your suggestons? // мимокрокодил
Это лучше, чем два спейска в программере и быдлокодере.

F# и Perl - поменять местами

С какого хрена Perl перестал быть быдлокодерским? Да он создан именно для писания быдлокода.

Ну типа можно выебываться макросами. А по сути это всего лишь диалект Бейсика. Илитный язык для всех гуманитариев, для которых Haskell, Лисп и прочий матан слишком сложно.

Про F# - безмозглый МС-хейтер писал?

Ну напиши мозгло, лол.
Сколько быдлокодеров на F# вы встречали? Выпиливаю из быдлоязыков.
СОЧНЫЙ БУГУРТ МИКРОБЛЯДКА. ЛУЧИ BAWWWW ВО ВСЕ ПОЛЯ.

"ML с диалектами и расширениями" - в небыдлокодерских, F#, являющийся диалектом OCaml'a - в быдлокодерских. Где логика, мать вашу?

Coldfusion

Впилите, ага?

Flex

Заметка, очевидно, написана быдлокодером из какого-нибудь "вражеского" лагеря, который знаком с флексом по заметке с хабра или, того хуже, по чьей-нибудь ПРЕЗЕНТАШКЕ.

Да, есть некоторые проблемы с глючными классами, неочевидными решениями уровня архитектуры и т.п., но ведь про схожесть с Delphi - очевидный пиздеж. Вкладка Design таки да - существует, таки да - позволяет визуально таскать компоненты и ставить на них обработчики событий. Но на нее перестают обращать внимание после написания первого более-менее сложного layout'а, ибо, во-первых, она начинает безбожно глючить, а во-вторых - вручную можно написать все гораздо быстрее. Алсо, грамотный менеджер скорее всего начнет бить по рукам за абсолютное позиционирование компонентов, которое генерирует Design mode. Алсо, Ъ-компоненты пишутся исключительно с помощью AS-классов, а тут Адуч чувствует себя уж точно не хуже джавы, а в некоторых случаях – намного лучше. Ладно, покормил и хватит.

Мимокрокодил-флекс-быдлокодер

OpenCL

Молодой и горячий, для реактивного небыдлокодия матана. Куда бы его? Пока в низкоуровневых побудет

OpenCL как и CUDA - не самостоятельные языки, а расширение C/C++ для параллельных вычислений на специфическом железе (читай - GPU). Не более низкоуровневые, естественно, чем исходная сишка. Был еще AMD CTM - это такая их собственная версия CUDA, представлявшая собой ассемблер для видеокарт, вот тот да, был низкоуровневым. По этой причине, популярности не снискал и вытеснен OpenCL.

Все что вам надо знать о язывех програмирования

https://github.com/drv53b6/git_if/wiki/main

Objective-C

Кто настолько ебанулся, что причислил этот высер к небыдлокодерским языкам? Для покупки огрызка или установки хакинтоша не нужно быть семи пядей во лбу, а дальше дело за малым. Все к чему нужно привыкнуть - отправка сообщений и управление памятью (спасибо джобсу, теперь и это не нужно). В остальном по тупости и простоте вхождения он далеко позади оставит плюсы, составив серьезную конкуренцию руби и шарпу.

Таки да, переношу в быдлокодерские.
Чуйства юмора у тебя нет, вот что! Ты прям хочешь как в Википедии, создать хранилище всепланетной энформации и тем самым изме... ты хоть в курсе, что никто, кроме нескольких битардов да RSDN-овец, тебя всё равно не читает?
Да чи не пофиг. А в быдлокодерские его нужно перенести, потому что а) Обжект С таки быдлокодерский. b) Обжект С - мейнстримовый (то есть так он доставит больше батхёрта) c) Яблочники вконец акуели и уже приводят эту статью как пример своей элитарности! Мол даже злые битарды уважают нашу прелесть. Без шуток.
тут важно то что находясь в быдлокодерских он доставит butthurt, а в небыдлокодреских они юмора все-равно не поймут, а будут тешить своё ЧСВ
Всё, всё, что сделано на движке MediaWiki, заканчивает одинаково. Превратили статью, которая начиналась просто как шутка, в конспект лекций об Устройстве Вселенной. Нет, ну нахуй так жить, а?..

Про быдлокодерские языки полная хуйня

1) Не бывает быдлоязыков, бывают быдлокодеры 2) Что за хуйня оценивать язык по порогу вхождения? Важно то, что и как можно писать на языке, а не как легко выучить синтаксис 3) Про легкий порог вхождение само по себе хуйня. Чтобы научиться писать на любом языке не хеллоуворлд, а крутые и сложные программы, нужны мозги и опыт. Тролли фас.

1) Не бывает быдлоязыков, бывают быдлокодеры

"быдло" от слова стадо

"быдло" от слова "бодать" - т.е. то что бодает, т.е. рогатый скот.

2) Что за хуйня оценивать язык по порогу вхождения? Важно то, что и как можно писать на языке, а не как легко выучить синтаксис

нормальная хуйня! Если язык выучить легко, в нем предусмотрена возможность писать "непонятное сложное говнище", как и "простые красивые вещи", то как ты думаешь, что выберет новичок?

полагаешь на BrainFuck пишут шедевры програмирования?
ужу понятно, что qip, the bat, total commander, paint.net и прочие овер9000 программ - порождение быдлоязыков


3) Про легкий порог вхождение само по себе хуйня. Чтобы научиться писать на любом языке не хеллоуворлд, а крутые и сложные программы, нужны мозги и опыт.

Нет. Проверено опытом. Люди просто переписывают слабопонятные буквочки, похожие на формулы из школьной алгебры из интернета, правят пока не скомпилируется. Затем смотрят на результат. И если у языка низкий порог вхождения (вроде PERL или BASIC) - то оно заработает и мы получаем быдлопрограммиста. Это реально так. Я 5 человек "просеял" прежде чем нашёл нормального программиста именно на PERL - но каждый из этих пяти отнял у меня месяц! А поначалу ведь не скажешь: примеры на собеседовании решает, и "скелет" вроде пишет. Доходит до мяса - всё иди гуляй Вася!

К визуальным

К визуальным для детей нужно добавить ещё sikuli, как минимум из-за названия.

  • Поблевал, спасибо.

Не могу молчать!

В своё время был эпичный срач, в котором олдфаги утверждали что любой алгоритм можно написать и без ООП, а потому оно не нужно. На что сторонники ООП утверждали, что ООП улучшает структуру программы. На это утверждение шёл ответ, что ООП не улучшает структуру, а превращает программу в mind-fuck с трудноуловимыми ошибками и утечками памяти. Что для нуба и в самом деле правда, и потому сторонники ООП это обвинение не только не отрицали, но и указывали на рукожопость и скудоумие, особенно популярным троллингом было «старую собаку не научишь новым фокусам». Финальную точку в сраче ВНЕЗАПНО поставила Windows. Которая для написания работающих под её управлением нормальных программ требовала знания ООП, а олдфаговские консольные проги на нёй выглядели как древнее говно мамонта, что и стало настоящим вином для ООП. Конкретно соснувшие хуйца олдфаги возненавидели лично Билла Гейтса (который в общем-то объективно говоря ничем не хуже Стива Джобса), и стали дружно фапать на тогда ещё полностью консольный UNIX, вызывавший у них слезу умиления и ностальгию по тем временам, когда ещё не было ненавистных им юзеров, сидящих на винде. Ну а вчерашнее школоло, студенты-первокурсники, не понимая, где ООП нужен, а где нет, попыталось сесть на оба этих взаимоисключающих стула сразу: с одной стороны, прониклись модным и крутым ООП, развивающимся под Windows же (sic!!!), а с другой — стали подражать олдфагам, ненавидящим Гейтса, без понимания причин этой ненависти. Вот так: весь этот ихний Масюкль — обезьянничание с ненавидимых и проклинаемых ими же технологий.

Господа, это ж невообразимая хуйня. Во-первых, олдфаги фапали на UNIX не потому, что в шиндовс ООП, а потому что они были представителями и/или последователями небыдла, свергнувшего олд-олдфагов фапающих на системное программирование на ассемблере. И им, какбэ вендовс нахер не сдалась, тем более в том формате расширителя доса в котором она существовала тогда. Во-вторых, как бэ это так сказать… Мне не совсем понятно, что это за «нормальные программы» в венде, которые требовали знания ООП. Но я при этом уверен в том, что любой смысл, который автор текста мог вложить в эти «нормальные программы», которые под виндовс требовали знания ООП, я разнесу в хлам тыкая указательным пальцем в историю.

Кстати, ещё совершенно неясно, что такое «масюкль»? MySQL? Вряд ли это так, поскольку MySQL не имеет никакого отношения к обсуждаемой теме. А какое другое название можно перекорёжить так, чтобы получить «масюкль» мне не сообразить никак.

Может я задумки не понял, и этот невообразимый бред тут приведён как пример толстого-толстого вброса для форума линупсойдов? Написанный здесь линупсойдом же, ради привлечения школоло-троллей на свои форумы? Но как бы там ни было, сие недержание речи стоит либо удалить, либо, по-крайней мере, стоит пояснить, что это за херня написана.

плюсую, топикстартер хлебнул говнеца
  • Ваш Butthurt очень важен для нас!
    • Баттхёрт, по-моему, судя по количеству эмоций и заголовку абзаца "не могу молчать" у того, кто добавил тот текст в статью. Может его в детстве били процедурные-программисты? Мне же лично, похеру что там написано в статье. Лишь альтруизм движет мною, то есть безосновательное желание помочь авторам правильно расставить приоритеты между "лулзами" и "фактами".

Кстати добавлю. Там же, но под следующим заголовком "продолжение банкета" написана такая интересная фраза:

вот недавно Micro$oft (уже без Била Гейтса) выпустила гибрид ежа с ужом — язык F#, сочетающий в себе «несовместимое»: ООП и функциональное программирование

Из этой фразы предлагается делать вывод о том, что M$ первой догадалась совместить "несовместимое"? Но ведь до этого, несовместимое замечательно уживалось в Haskell. А если уж Lisp зачислен в функциональные языки программирования, но нельзя забывать о том, что CLOS был стандартизован в составе CL году эдак в '95. Успев к тому моменту пройти через достандартную конкуренцию с другими реализациями ООП в лиспе. Это я опять же к тому, что факты, очевидно, при написании статьи не брались в расчёт.

      • Баттхёрт - у вас. Чего и добивались авторы статьи. Что, мальчики, не укладывается Вселенная в математическую логику? НАБИЖАТЬ И УДОЛИТЬ КО-КО-КО_
Ёмана... Тут вообще кто-нибудь знает какие-нибудь слова, кроме баттхёрт? Их носом тыкают в то, что изложенные в статье факты придуманы из головы и не соответствуют действительности, а в ответ лишь "баттхёрт", "баттхёрт". Наводит на мысль, что а) более серьёзных аргументов нет, и б) мы наблюдаем корчи студентов партнёрской программы m$.
Бесплатное хранилище всепланетной информации - это Вон там.

IT-макакинг, вся правда

Любопытно, что фирма Apple занимается похожими нехорошими вещами, и даже еще в большей степени. Их архитектура гораздо более закрытая, чем Windows. Также именно с подачи Apple появилась цензура программного обеспечения под ОС; отслеживание местоположения пользователей и отправка отчетов на фирму. С подачи Google почтовые провайдеры анализируют личную переписку своих клиентов. Но все шишки летят на Билла Гейтса. Право же, трагическая судьба.

Анонимус

  • Ну так огрызки (а также ведроиды) не коммерческое ПО делают. Они продают игрушки населению, там нет ни распилов, ни откатов, ни «внедренцев», ни прочих бизнес-партнюров, ты же в игрушки в детстве играл?

ПАРОВОЗ ИДЕТ

Товарищи! Всем известно. Что клиенту пойух на Ващи понятия быдло и небыдлокодера. Что клиенту и рынку интересно то вы и будете писать. Несмотря на весь протест и пот на очках. Если ума нет это понят вэлком в мир таких понятий как быдлокодер и прочее.

Доменно-специфические языки

Ну все в кучу, да еще под придуманным названием, который гугл не знает. MATLAB c SQL, хотя sql уже выше есть, а потом еще и xml c json'ом (который, насколько я помню, вообще просто формат данных) впихнули. Пока сносить не стал, потому что часть их них действиетльно стоит упомянуть. Заинтересованным предлагается таки довести до ума — часть выпилить, часть раскидать по уже имеющимся разделам.

ОХУЕЛИ, БЛЯТЬ

ЕБАНУЛИСЬ СОВСЕМ, БЛЯТЬ. ЕБАНАШКИ, БЛЯТЬ. КАКОГО ХУЯ С В АВТОКОДАХ ДЕЛАЕТ, БЛЯТЬ? ОН ОХУЕННО ВЫСОКОУРОВНЕВЫЙ, СУКА, УЕБАНЫ ТУПЫЕ, ЭТО ПРОСТО ПИЗДЕЦ КАКОЙ ОН ВЫСОКОУРОВНЕВЫЙ. ПРОСТО ФЕЕРИЧЕСКИ, БЛЯТЬ, ВЫСОКОУРОВНЕВЫЙ, ШЛЮХИ ТУПЫЕ. Я БЫ ВАС ВСЕХ, СУК, В РОТ ВЫЕБАЛ. А ПОТОМ МЫ РАСЧЛЕНИЛ, БЛЯТЬ. И ВСЮ ВАШУ БЛЯДСКУЮ СЕМЬЮ. ТВАРИ УБОГИЕ, ЧТОБ ВЫ СДОХЛИ ВСЕ В МУКАХ СТРАШНЫХ. ПЕРЕДЕЛАЛИ, ШЛЮШКИ, БЫСТРО, БЛЯТЬ! ВОТ ЖЕ СУКИ ЕБАНЫЕ. БЛЯТЬ, В С НИХУЯ НЕТ ДОСТУПА К РЕГИСТРАМ ДАЖЕ, БЛЯТЬ. К ПОРТАМ, СУКА, ТОЖЕ. НИХУЯ НА НЕМ НЕЛЬЗЯ ПИСАТЬ НИХУЯ НИЗКОУРОВНЕВОГО, ВЫ ЭТО ПОНИМАЕТЕ, БЛЯДИ ТУПЫЕ? ПИШУТ, БЛЯТЬ, АГА, ПИШУТ, ДА ТАМ БЛЯТЬ СУКА ЕБАНАШКИ АССЕМБЛЕРНЫХ ВСТАВОК БЛЯТЬ ОХУЛИАРД БОЛЬШЕ ЧЕМ СУКА ВСЕГО КОДА БЛЯДИ ЕБАНЫЕ ВАС ШЛЮХ ТАКИХ УБИВАТЬ НАДО БЛЯДИ БЫ УБОГИЕ КАК Я ВАС СУКИ ТВАРИ ХОЧУ УБИТЬ ВЫ НЕ ЛЮДИ ВЫ ЖИВОТНЫЕ НИЧТОЖНЫЕ ТВАРИ СУКИ БЛЯДСКИЕ

Бляндиночка, в капс пальчиком тыкните, плз.
ВЫБЛЯДЬ УБОГАЯ, ТЫ МНЕ ТУТ, СУКА, НЕ ПИЗДИ, СТАТЬЮ, ТВАРЬ, ИСПРАВЛЯЙ! УБЬЮ НАХУЙ!
пошёл на хуй и убейся ап стену! ВО ВСЕХ книгах 80-х и 90-х простой C отнесён к низкоуровневым языкам! не путай тупой долбоёб C с C#
Алсо, пейсал же Питер Мойлан, в этих ваших энторнетах, английским по белому пейсал, что оператор «*ptr++» развернётся в одну команду на платформах PDP-11, Motorola 68K, Hobbit и современных Mentek. Странно, что кто-то не знает. Ньюфага, в отрасли этой, наблюдаю я.
любой инкремент развернется в одну команду, ололо.
а особенно чтение по указателю, инкремент, и затем запись по указателю... в общем, си ты не знаеш.
дебил убогий, в ассемблере разыменования нет.
но в архитектуре PDP-11 оно таки есть. в общем, до 1 сентября буду откатывать твои правки (плюс ещё один анонимус), а дальше ты сам уйдёш.
во-первых, твои маргинальные архитектуры никому нахуй не сдались (PDP-11? да ты еще и знатная некроблядь). во-вторых, ты, уебище, только что сам сказал: трансляция зависит от платформы и компилятора, поэтому С высокоуровневый, а ты сосешь немытые хуйцы. в-третьих, я просто так статью на растерзание быдлокодерам типа тебя не отдам.
«трансляция зависит от платформы и компилятора, поэтому в огороде бузина, а в кииве дядька»
говно тупорылое, бегом читать определение высокоуровневого языка: "Основная черта высокоуровневых языков — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования) очень длинны и сложны для понимания". тут ты видишь именно это.
и да, я же тебя в нижеследующем разделе опустил, все, успокойся, соси хуй молча.
"Основная черта высокоуровневых языков", пишет нам Манька, — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другом низкоуровневом языке программирования, таком как сишка) очень длинны и сложны для понимания". Вон из профессии.
хуесос безмозглый, сравни описания алгоритмов на ассемблере и С. потом убейся об стену, мразь убогая, генофонд хоть очистишь.
Лежащая в луже собственного поноса колхозная манька, не в силах дальше классифицировать языки погромирования по их внешнему виду, начала слизывать говнецо с холодного кафеля и плевать в мимопроходящих людей. «ОЗУ, как страшно жить!» — вопила она, — «виртуальная!!! память!!! черта, языков, порты, IRET, ШINDOШS, гiрлык!!!», но хлёсткий удар трости по хребту прервал агонию бешеного чудовища и избавил его от дальнейшего позора и самоунижения. Уходи.
эк у тебя баттхерт. ну соснул ты, ну и что? тебе, наверное, не привыкать.
Раз кроме внешнего вида и глупостей из учебников ничего нет, —
раз кроме говна в голове у тебя ничего нет, уходи лучше ты. прямиком в биореактор.
Ну тебе же в самом деле гораздо легче станет, если ты покинеш провфессию. Никто небудет вокруг "ОХУЕЛИ, БЛЯТЬ". В чом твоя проблема?

C

Успокойтесь (понятие высокий и низкий уровень довно переставлены местами в прграммировании. То что теперь подразумеается вод "высоким уровнем", навязывает воспринимать нерадивого, крайне низкоуровневого за гения. С Ув Ю.), унтерменши. существует только один язык низкого уровня — машинный код (читай - высокого уровня кодирующего на нем, впрчем, снизу стучат, а побитового кодирования не пробовали ?), а также его мнемоническое представление — язык ассемблера. C всегда относили к высокоуровневым языкам (могу накидать пруфов) и только в последних десятилетиях разного рода быдлокодеры каким-то хуем решили, что он низкоуровневый.

машинный код — не язык тупой мудила!
ебанашка убогая, второе название машинного кода — машинный язык.

«Си часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам. Однако, в строгой классификации, он является языком высокого уровня.» — с педии, дискасс?

ну вот, я же говорю: высокоуровневый он. в остальном — бред. си бесконечно далек от реальных устройств.
Всё ясно. Кто-то не знает о существовании указателей в Сишке и относит его к высокоуровневым языкам. Как только пройдёт срок блокировки, я тоже полезу в войну правок и буду откатывать статью в то состояние как было, пока этот сумасшедший не пришёл сюда (спойлер: и не начал тут громко срать) Подходите ко мне ближе, бандерлоги. Ближе.
уебище безмозглое, к чему указатели дают доступ? к ОЗУ? переменные тоже дают доступ к ОЗУ, как страшно жить! переносим все императивные языки в низкоуровневые! алсо, к физической памяти обратиться нельзя. man виртуальная память.
или ты имел ввиду, что с помощью указателей можно работать с устройствами? ОООО ДААА!!! ЭКРАН В ТЕКСТОВОМ РЕЖИМЕ!!11 вот только в эту сраную видеопамять текстового режима ты можешь на почти любом языке. для работы с любым полноценным устройством нужны порты ввода/вывода, в которые С не может без ассемблерных вставок, и прерывания, в которые С не может вообще никак: (спойлер: процедуры завершаются RET, а нужен IRET. если просто вставить IRET в тело функции, на стеке останется мусор). если ты клинический долбоеб и считаешь указатели критерием низкоуровневого языка, переноси в низкоуровневые еще 9000 языков. в каждом втором языке есть указатели.
Особенно Ц решётку. Ну а чо, там тоже есть указатели.
То есть, Манька, не зная о существовании адресной арифметики, вопит «а к чему указатели дают доступ» и плюется говном. Вон из профессии. Сам видиш, не твоё.
говнецо упоротое, при чем тут адресная арифметика?
Внезапно, соглашусь: для того, чтобы в C имплементировать прерывания или переключение контекста между двумя процессами (context switch, критично, если пишите свою ОС), без ассемблерных вставок (inline assembly) никак не обойдешься.
> машинный код, а также его мнемоническое представление — язык ассемблера Ты из какой криокамеры вылез, родной? ЯА уже лет десять-двадцать как НЕ мнемоническое представление машинного кода. В него напихали макросов, реализующих такие абстракции структурного программирования, как if, for, while, function, structure. То есть превратили ассемблер в недо-C для уёбков, которые не могут освоить что-то более сложное, чем ЯА. — Срикет
PS. Поправлюсь. Не 10-20 лет, а скорее 20-30 лет назад началась эта петрушка, с превращением ассемблера в ЯВУ. — Срикет
не знаю, как там у вас в этих ваших MASM да TASM с Ideal mode, в моем ламповом gas все православно и минимум макросов.
Эмм… Тебя больно бьют палкой за попытку сменить инструмент? Если нет, то я бы рекомендовал сменить. MASM/TASM слить в унитаз вместе с gas. И взять fasm. Ну или, на крайний случай, nasm или что-нибудь типа того. А если бьют, то возьми perl и напиши препроцессор к gas. То есть можно, конечно, по-старинке, долбиться в m4. Традиции UNIX, так сказать. Но я бы рекомендовал что-нибудь более… эээ… молодёжное. А ещё лучше, не связываясь со всем этим велосипедостроительством, освоить gcc. — Срикет
Intel-синтаксис УГ. AT&T более строгий, поэтому большинство ошибок отлавливается уже на этапе ассемблирования. а оставшиеся легче дебажить. GCC Inline Assembler — тот же gas, а совсем без ассемблера не везде можно обойтись. продвинутого препроцессора не нужно, хватает встроенного (он не хуже, чем сишный)
Ты безнадёжен, пойми это. Ты всю жизнь будешь писать хеллоуворды, если не займёшься освоением более сложных инструментов. Да, мне тоже больше нравится синтаксис AT&T. Поэтому я использую gcc с его inline-асмом, который .att по-умолчанию. До тех пор, пока твой инструмент более убог, чем у конкурентов, конкуренты будут тебя обходить. Тебе удастся превзойти только наиболее тупых. Например, ты никогда не напишешь что-нибудь типа KolibriOS. Потому, что а) gas, по-сути, не имеет никаких возможностей кроме ассемблерных мнемоник для машинных команд, только что адреса рассчитывает сам, хоть на том спасибо; б) тебе придётся писать одному, второго такого отморозка найти не удастся. Если уж тебе бля-ну-пиздец-припёрло писать на ассемблере от а, до я, и именно в att, то лучше форкни gas и займись его развитием. Всяко это более переспективно, чем мастурбация с gas в его сегодняшнем виде. Лет за пять запилишь себе инструмент, который действительно можно будет использовать для… ну хотя бы для того, чтобы переписать на нём coreutils. — Срикет
ололо, и что же может инлайновый ассемблер в GCC, но не может gas? и да, в последний раз, когда я тыкал палкой GCC, оно не могло в naked-функции, вследствие чего справедливо отправилось в /dev/null. и это ты предлагаешь на замену ассемблеру? а генерировать код, не использующий libgcc оно уже умеет? потому что libgcc весит больше, чем объем памяти микроволновки, для которой я писал прошивку. а оно больше не использует memset, memcpy, memmove и memcmp, где пожелает? Coreutils напишет любой школьник на любом языке, если это не какой-нибудь Brainfuck, на gas же сделать это — как два пальца обоссать.
> что же может инлайновый ассемблер в GCC, но не может gasНеправильная постановка вопроса. Ну в корне кривая. Вопрос в том, что может gcc, чего не может gas. А gcc может играть роль превосходного препроцессора к ассемблеру. Почище всяких там fasm'ов.
> объем памяти микроволновки, для которой я писал прошивкуАх вот оно что… Тебя не хватило на работу программистом, ты был вынужден ограничиться программированием устройств, которые называются программируемыми по какому-то недоразумению, и ты туда же, лезешь рассуждать о языках программирования. Ничего уровнем выше C или C++ ты естественно не видел, я угадал?
> Coreutils напишет любой школьник на любом языке, если это не какой-нибудь Brainfuck, на gas же сделать это — как два пальца обоссать.Превосходно. Будь добр, ударь двумя пальцами об асфальт и кинь сюда ссылку на результат. Мне был бы очень интересен такой проект. Если не лень, то ударь пальцами пару раз: мне бы хотелось x86_64 и arm версии. Собственно под arm было бы интереснее: у меня на роутере долбаный busybox, он задрал если честно. — Срикет
> Ничего уровнем выше C или C++ ты естественно не видел, я угадал? не угадал. Haskell, но это для души и знаю его плохо.
> Вопрос в том, что может gcc, чего не может gas. повторюсь: GCC все еще не может в naked-функции? если нет, то он не может заменить standalone-ассемблер. просто не может.
> Будь добр, ударь двумя пальцами об асфальт и кинь сюда ссылку на результат. man утрирование. написать POSIX-утилиты в одиночку за вменяемый срок нереально. и это относится к любому языку. тем более, что все уже сделано до меня: http://asm.sourceforge.net/asmutils.html. хотя тут не gas, но нет ничего, чего бы он не мог.

Айс!

добавьте в визуальные для взролслых SoftImage ICE - визуальный язык програмирования для дизайнеров

Тогда уж добавлять и забавную виндовую тулзу для скомпоования фиьтров для проигрывания аудио и видео - забыл как называется. Из визуальшины ока я видел только один действительно язык программирования - en.w:LabVIEW. вот его-то и надо вставить. Он очень широко известен в узких кругах, фактически стандарт в своей области применения.

Декларативные языки

Что за долбоеб блядь писал кусок про декларативные языки?

  • Декларативные языки как раз описывают "что нужно сделать", а не "как эту хуйню сделать".
  • В этом и профит!
    • Добавлю, что Лишп — как раз такой езыг и есть:
(redirect
    (relay-ip "10.0.1.5")
    (dest-ip
        (select source-ip
            (on "192.168.200.17" "10.0.20.7")
            (on "192.168.200.34" "10.0.20.7")
            (on "192.168.200.41" "10.0.20.8")
            (else "10.0.20.9")
        )))
    • Erlang — тоже декларативный езыг, но не сам по себе, а по сравнению с процiдурными езыгами, такими, как сишка:
max(X, Y) when X > Y -> X;
max(X, Y) -> Y.
    • И оно даже работает.
  • Lisp

Очень любопытное наблюдение, lisp здесь упомянут как декларативный и функциональный язык (группа языков) программирования. Ни то, ни другое, истиной не является. Модель вычисления в лиспах не ограничена функциональщиной. И очень многие этим пользуются. Хотя при написании кода приветствуется ориентация на функциональное программирование, но это не более, чем традиция. Декларативность - это вообще нонсенс. Лисп является существенно императивным. Всякие DSL-и, написанные при помощи S-выражений - не в счёт, не надо приводить их в пример.

  • Блять, Prolog же! Отрезай колбасу по одному кусочку, ешь, повторяй пока не доберешься до базового случая (колбаса съедена).
nocheck(_, [], _).
nocheck(Y, [Y1 | Rest], N) :-
    Y =\= Y1,
    abs(Y1-Y) =\= N,
    N1 is N + 1,
    nocheck(Y, Rest, N1).


legal([], _).
legal([Y | Rest], NumList) :-
    legal(Rest, NumList),
    member(Y, NumList),
    nocheck(Y, Rest, 1).


n_queens(N, L) :-
    natural_number(N),
    numlist(1, N, NumList),
    permutation(NumList, L),
    legal(L, NumList).


natural_number(1).
natural_number(N) :- 
    M is N - 1, 
    natural_number(M).

PL/SQL

PL/SQL — не для вхождения в мир начинающих Database Developer-oв, а для нормальной разработки. Pl/pgsql создавался под впечатлением от кошерного ораклового PL/SQL. --Но дело не пыльное, да.

ps

э! а где postscript?

  • Это язык разметки и описания страниц, не программирования.
    • «PostScript — полнофункциональный тьюринг-полный язык программирования» (https://ru.wikipedia.org/wiki/PostScript)
      • к счастью, Лурк пишут не википидоры, и полнофункционального тьюринг-изврощонного академического бреда здесь пока нет :-)
На самом деле, PostScript не случайно «Script», это исходно язык для программирования принтеров. Его идея в том, чтобы встроить в принтер интерпретатор языка программирования, и отправлять этому интерпретатору программы. Используя PostScript можно легко нарисовать график какого-нибудь там синуса, и выглядеть это будет примерно так же как в любом другом языке, только там порядок перечисления аргументов обратный. Вместо lineto(100, 100) придётся писать 100 100 lineto. Ну и да, там есть циклы и условия. Уж не знаю, можно ли там объявлять свои функции, но поскольку там есть стек, то значит функцию сделать можно, даже если синтаксис никак специально не поддерживает функции.
Другое дело, что кому он нахуй сдался этот постскрипт. Его знают два с половиной упёртых юниксоида, потому что в cups есть интерпретатор постскрипта, ну может ещё половина типографа знает. В сумме не более трёх человек. — Срикет (обсуждение)

Я понел. Из-за того что луркоёбы невзлюбили википидоров, у меня в файле page.ps внезапно должно перестать работать "/mm {2.8346456692913 mul} def".

И да, javascript, конечно, (совершенно случайно "Script" || "язык для программирования принтеров").

Юниксоиды не знают постсткрипт (разве что команду консоли ps2pdf). Так что остаётся один типограф. Его зовут Adobe Inc, и вы все у него сосёте (потому что не хотите знать постсткрипт).

М-м-м... Это видимо тоже дело рук Adobe Inc. Но обрати внимание на урл: тильдочка как бы намекает нам на юниксоидные корни автора.

PostScript это Форт, макаки.

Что за хуета?

Что, блять, написано в пункте "Визуальное программирование"? WinForms и Delphi? В смысле, это было написано лет пятнадцать назад, наверное, пора бы отредактировать, уже везде WYSIWYG.

Это где везде? Для веба нормальный до сих пор не сделали, на WPF нужно писать разметку руками. Power Builder, FoxPro, Visual Basic, Delphi, WinForms давно умерли, один Qt еще жив.

Что за хуета про Groovy?

Почему-то про Groovy писал какой-то "иксперд", который видел программирование на Groovy только на картинках, которые на картинках. Всё пальцем в небо, а то и ещё более мимо. Не надо так.

Пару слов о Pascal'е.

Анонимус, пишущий проги для промышленных контроллеров (Simatic s7), частенько использует встроенный в него "высокоуровневый" язык scl, основой которого и является Паскаль, не справедливо записанный в *учебный* язык. И не только simatic, сюда же овен,метакон,омрон и прочие промышленные контры. Так что,господа, Паскаль местами живет и здравствует:) — Мимо крокодил

Раздел «Экологические ниши»

Когда я вижу классификацию на:

  • Низкоуровневые языки
  • Процедурные и объектные языки
  • Прикладные языки
  • Языки для написания проводок
  • Декларативные языки

(и всё это экологические ниши, блеать!)

…мне кажется, что или я, или автор сошли с ума. Просьба кому-то, кто тоже разбирается в теме, внести ясность по этому вопросу.

Не, никто не сошёл с ума. У людей есть склонность придумывать ебучие классификации, и при этом мало кто умеет создавать вменяемые классификации. Хорошая классификация должна иметь критерий классификации, единое правило, из которого вытекает набор выбранных классов, причём единственным образом. Тут нет такого критерия, мне вспоминается:
В качестве образца, которому ни в коем случае не следует подражать, возьмём самую нелепую из всех известных классификаций — классификацию животных, приписываемую X. Борхесом китайской энциклопедии под названием «Небесная империя благодетельных знаний». На древних страницах этой энциклопедии, заверяет Борхес, написано — все животные делятся на: а) принадлежащих Императору, б) набальзамированных, в) прирученных, г) сосунков, д) сирен, е) сказочных, ж) бродячих собак, з) включённых в эту классификацию, и) бегающих как сумасшедшие, к) бесчисленных, л) нарисованных тончайшей кистью из верблюжьей шерсти, м) и прочих, н) только что разбивших кувшин, о) похожих издали на мух '...
Конгениально. В смысле, у меня тоже эта цитата в голове крутилась, но я забыл, откуда она и не процитировал. В общем, да, я именно об этом.
(c) «Сознание как парадокс» Аллахвердов В. М.
Что предложить конструктивного… я не знаю. Мне кажется, что вообще все классификации языков создавались по тому же принципу Борхеса. У меня есть гипотеза, что эти классификации придумывают преподы, чтобы потом можно было бы в экзаменационные билеты включить вопрос, и получить в ответ список с описанием пунктов — очень просто проверить учил ли студент или не учил. Но за пределами экзамена все эти классификации вообще никому никогда низачем не нужны.
Может рассматривать эти все пункты не как классы (то есть непересекающиеся подмножества общего множества, объединение которых даёт это общее множество), а как программерские мемы? У программеров есть мем «низкоуровневый язык», но что этот мем означает может сильно разниться от контекста к контексту. Иногда C записывают в низкоуровневые, сравнивая его с lisp'ом. Иногда C записывают в высокоуровневые, сравнивая его с ассемблером. Процедурные и объектные языки — вообще какая-то дичь из прошлого, причём, по-моему, с русской спецификой: я слышал про императивные языки и про языки с поддержкой ООП, сегодня же практически любой язык имеет в себе императивное подмножество и ООП в том или ином виде есть. Прикладные языки — это вообще все языки. Если есть прикладные, то следует выделить ещё категорию системные языки. И тут опять же возникает неопределённость: тот же C это системный язык, но на нём куча прикладухи пишется. Плюс есть ещё груда специализированных языков, типа R для работы со статистикой, SQL для работы с реляционными базами данных, HTML кстати, как бы не кричали, что он не язык программирования, это язык программирования, пускай и не обладающий полнотой по тьюрингу, а следом за HTML цепляются всякие там XML, JSON, TeX,… Но я к чему, что если уйти от идеи классификации, и просто сделать перечисление мутных категорий, которые вовсе необязательно непересекающиеся, смысл которых зависит от контекста, и тп. то может выйдет ничего? Как думаешь?
> Может рассматривать эти все пункты не как классы (то есть непересекающиеся подмножества общего множества, объединение которых даёт это общее множество), а как программерские мемы? А чисто технически это как осуществить — написать «вводную», мол, это не классификация, а, тысызыть, стихийно сложившиеся группы? (Чтобы не оставлять борхесовского ощущения). Или же структуру разделов перепилить: низкоуровневые/высокоуровневые, для финансов/для романсов и т.п.? > У программеров есть мем «низкоуровневый язык», но что этот мем означает может сильно разниться от контекста к контексту. «Я весь последний год писал на Си, но планирую опуститься ещё ниже», как сказала одна простая душа. Кстати, хороший эпиграф вышел бы. В принципе, так и надо, наверно, написать. Про контексты, в смысле. «Если сравнивать с ассемблером… если сравнивать с Жабой…».
Эээм… А может лучше наоборот оставить борхесовское ощущение, усугубить его, а потом ещё провернуть три раза? Не? А как например такое:
Я частично уже начал, впилив цитату Борхеса в текст статьи.
Классификация языков программирования — это сложное и неблагодарное дело, в силу того, как развивалось программирование. Дело в том, что программисты не умеют писать программы, но признаваться в этом не хотят, и винят в своих неудачах яйца языки программирования. То и дело какой-нибудь программист подскакивает, потому что его осенила новая идея о том, как можно меньшими усилиями писать с меньшим количеством багов, и ничтоже сумняшеся он запиливает новый язык. Самые честолюбивые программисты не просто создают новый язык, но целую парадигму программирования, которая как бы говорит всем последующим поколениям программистов о том, как надо запиливать новые языки программирования. Всё это естественно осложняется тем, что когда какая-то парадигма не работает, её начинают менять и местами до неузнаваемости. Это стихийный, бессистемный и неуправляемый процесс, оставляет за собой хаос из разбитых парадигм и надежд на безбажные программы. Но здесь мы попытаемся, всё же, одним дерзким взором обозреть весь пейзаж за раз.
Как по мне, так норм. Вы сами добавите? Я позже по классификации ещё хочу пройтись, примерно так, как вы внизу пишете.
Начать так, а потом взять бинарные классификации, типа быдлокодерский/небыдлокодерский, ручное управление памятью/GC, высокоуровневый/низкоуровневый, академический/???(чтоб академии противопоставить?), расписать их суть, может с парой ярких примеров, но без спискоты. А затем остальное в хронологическом порядке, то есть парадигмы в хронологическом порядке, и там спискоту языков, которые в эту парадигму попадают. Хыхы, и можно потом к каждому первому упоминанию каждого языка приделать всплывающую подсказку вида «ручное управление памяти: да; академический: нет; высокоуровневость: 73%; быдлокодерский: 100%». Не совсем ясно, что делать с языками, которые в несколько парадигм попадают: как избежать дублирования описаний этого языка? Понятно, что можно один раз выверять всё глазами и убедиться, что повторов нет, но если допустить, что потом придёт фоннат языка X, пролистает полстатьи, найдёт одно из упоминаний X без его краткого описания и полезет это описание дописывать, то будет сложно отслеживать, чтобы статья опять не превратилась в бардак. — Срикет (обсуждение)
Можно пойти дальше и вообще взять и создать словарик программиста, напихав туда ебучую кучу словечек, которыми программисты пользуются не задумываясь. Или можно пойти ближе и просто нахуй выкинуть всю эту экологию. Мне лично похуй. Хуже не будет. — Срикет (обсуждение)