Каков худший язык программирования, с которым Вы когда-нибудь работали? [закрытый]

Может ли быть так, что в MS SQL неявные транзакции запускаются при выполнении операторов DDL и DML. Если вы отключите эту опцию, это поможет, используйте SET IMPLICIT_TRANSACTIONS

РЕДАКТИРОВАТЬ: другая возможность - вы не можете комбинировать CREATE VIEW с другими операторами в том же пакете. CREATE TABLE в порядке. Вы разделяете партии с помощью GO.

EDIT2: вы МОЖЕТЕ использовать несколько DDL в транзакции, если они разделены GO для создания разных пакетов.

44
задан 59 revs, 13 users 69% 23 May 2017 в 12:10
поделиться

100 ответов

Системная RPL , используемая графическими научными калькуляторами HP 48, 49 и 50. Иногда мне казалось, что компилятор действительно создавал язык более высокого уровня для выполнения процессором.

4
ответ дан 26 November 2019 в 21:32
поделиться

Его VB6 НОООООООООООООООО !!!!!!!!!! !!!!!!!!!!!!!!!!!!!!! Вы закончите как Уинстон Смит в концовке 1984 года ....

4
ответ дан 26 November 2019 в 21:32
поделиться

Старый макроязык Excel Это было действительно неприятно хранить переменные в листе Excel. VBA тоже был довольно плохим.

5
ответ дан 26 November 2019 в 21:32
поделиться

First, a few caveats: I tend to give a pass to languages that serve their intended purpose well enough, but get shoehorned by the corporate world into doing more than their designers intended. For that reason, I give a pass to VB and its VB-office variants. For quick prototyping, VB was hard to beat. It failed massively when people tried to use it for enterprise-level work. Same for Perl, which is a great scripting utility which somehow got promoted to the CGI language du jour back in the day.

But a language that fails to meet expectations, even on its own terms? For me, that's no contest: JavaScript, for three big reasons:

  1. lack of decent debugging capabilities (Firebug helps, but it's not enough),
  2. the way it simply halts whenever there's an error, forcing the programmer to add alert("in functionX") just to make sure you made it to functionX, and
  3. its infuriatingly obscure error messages.

And if I were allowed to choose a framework, it's likewise an easy choice: JSF and IceFaces.

5
ответ дан 26 November 2019 в 21:32
поделиться

Если мы зададим себе этот вопрос через X лет (X = 10 или 20 или?), Мы все хором скажем, что «все языки 20-го века - отстой». Такой сдвиг парадигмы приведет к тому, что мы будем делать вещи совершенно по-другому ... хотя я не могу представить, как это сделать!

5
ответ дан 26 November 2019 в 21:32
поделиться

В середине 90-х я работал в небольшой консалтинговой фирме по вопросам управления, используя продукт ГИС под названием MapInfo , который имел слабый язык сценариев под названием MapBasic .

Я не помню подробностей, но в основном в то время было объектов *, которые могли быть созданы только при жестком кодировании (в отличие от создания экземпляров с переменными). Это было ужасно, потому что казалось, что он делает все, что вам нужно, пока вы не попытаетесь его реализовать. Реализация была либо невозможной, либо очень тяжелой.

Я был новичком в тот момент, и у меня были большие трудности: а) предсказывать, что можно, а что нельзя, и б) объяснять почему моему менеджеру, не занимающемуся программированием. Тем не менее это было неприятно.

Есть много языков и инструментов, которые слабы в определенных областях, но после работы с Map Basic даже Visual Basic 3.0 почувствовал облегчение!

* - я не помню, все ли это были предметы или только некоторые.

5
ответ дан 26 November 2019 в 21:32
поделиться

Я думаю MaxScript , язык сценариев, который поставляется с 3d studio MAX, я никогда не видел никакой логики в его синтаксисе

6
ответ дан 26 November 2019 в 21:32
поделиться

Кто-нибудь упоминал язык сценариев, используемый в Autohotkey ?
Худший язык, который я когда-либо использовал.

6
ответ дан 26 November 2019 в 21:32
поделиться

Symbian C ++ Что ж, это не C ++. Он изучает совершенно новый язык и не работает так хорошо.

7
ответ дан 26 November 2019 в 21:32
поделиться

АНГЛИЙСКИЙ ЯЗЫК METLIFE (MEL) !

Я работал в компании, которая писала инструменты для автоматического поиска и исправления проблем 2000 года в Cobol и PL / I. MetLife предложила нам 2 миллиона строк кода, написанного на MEL, языке, который они разработали в конце 50-х или начале 60-х годов. MEL был языком, который помог вдохновить Cobol, и его процедурный код выглядел бы достаточно знакомым любому современному программисту Cobol.

У нас был сильный разработчик, который попытался написать переводчик, чтобы копировать MEL-программы и исправлять определенные даты. Он фактически выпустил демо-версию за пару недель и подумал, что еще 3-4 недели работы - это все, что нужно, чтобы привести ее в форму для производства. Отлично, думали мы, и решил взяться за эту работу.

К сожалению, он на самом деле не изучил очень примитивный эквивалент MEL DATA DIVISION (куда идут декларации) в MEL. Оказалось, что каждая программа MEL предоставляет свое собственное представление каждого входного или выходного файла и объявляет только те поля, которые ее интересуют. Может быть 30 или 40 различных вариантов того, что входит в файл с вариантными записями. выглядит как. Поговорим о слепых и слоне!

Исключительно умный и целеустремленный парень затем взял на себя и разработал семантику определения того, какие определения записей описывают какой файл, процесс, который значительно усложняется наличием вариантных записей во многих файлах. Затем он написал алгоритмы для объединения каждого набора альтернативных определений записей в общее определение записи, а затем преобразовать все, от старых эмулированных типов данных Honeywell в новые типы мэйнфреймов IBM. На то, чтобы все заработало, потребовалось два человеко-года.

7
ответ дан 26 November 2019 в 21:32
поделиться

Худшим языком, с которым я "работал", был "karol, the robot" - язык программирования на немецком языке. И ничего не мог сделать, кроме как перемещать робота по экрану xD

8
ответ дан 26 November 2019 в 21:32
поделиться

Я презираю проприетарные языки, такие как C # и AppleScript, единственная причина существования которых - привязать разработчиков к коммерческой платформе или продукту. Это не совсем техническая проблема, но это социальная проблема, когда эти языки затем преподаются в школах. У меня есть друг, у которого установлен только Linux, и его обучают C # на 1-м курсе CompSci. Да, есть Mono, но, естественно, он всегда проигрывает по функциям и стабильности.

8
ответ дан 26 November 2019 в 21:32
поделиться

Иногда ИТ сбивает меня с толку, почему компания-разработчик программного обеспечения разрабатывает собственный язык сценариев для взаимодействия со своим программным обеспечением, вместо того чтобы создавать надежный API, который может взаимодействовать с выбранным вами языком сценариев. Я голосую за язык сценариев TransCAD.

8
ответ дан 26 November 2019 в 21:32
поделиться

Я буду голосовать за ColdFusion. Он пытается быть классным языком сценариев, но использование html-тегов сводило меня с ума - прошло немного времени с тех пор, как мне пришлось иметь дело с этим, но, насколько я помню, объявления переменных могли быть медвежьими, и это было Легко иметь несколько разные версии сервера в двух разных средах, в которых код будет работать по-разному в обеих.

Если вы хотели сделать что-нибудь действительно впечатляющее, это в основном включало создание объекта на Java и выяснение того, как связать это вместе с сервером coldfusion, чтобы вы могли вызывать его как тег. Я работаю в PHP, и хотя у PHP есть проблемы, ColdFusion определенно хуже.

9
ответ дан 26 November 2019 в 21:32
поделиться

For me it'd have to be FileMaker.

The ScriptMaker

This screenshot shows the until recently named "ScriptMaker", which had many improvements in FileMaker 9 such as Ctrl+C Ctrl+V shortcuts for copying and pasting, and a non-modal dialog so you could edit more than one script at once.

http://images.macnn.com/macnn/reviews/filemaker/9proadvanced-ice_feature1_main.png

You edit individual Scripts using this dialog box. script "steps" (shown on the left) are added into the list on the left hand side (by double clicking), and are moved up and down (using the little blob to the left of "Set Web Viewer"). Only one line can be moved at once, and commenting for the purposes of temporarily disabling script steps is only available in the Advanced version of FileMaker Pro.

Constructing a Script effectively ruins your wrists, as you're swapping between keyboard and mouse thousands of times an hour typing stuff into the the little config boxes and re-arranging your lines of code.

A script is technically a procedure, and can be passed ONE parameter. Yup, just one. If you want more than one, you have to effectively combine your parameters using some delimiter, pass it to the script, then split the parameters out. Before scripts could have parameters at all (before FM7 IIRC), it was normal to use globals to pass data around.

This guy wrapped most of his hate into a hoax FileMaker 11 sneak preview.

9
ответ дан 26 November 2019 в 21:32
поделиться

JCL - Язык управления заданиями для мэйнфреймов IBM ... не совсем язык программирования, скорее, пакетный файл.

Это было основано на перфокарте, которая обычно помещалась в начало заданий, т.е. тот же синтаксис, другой носитель. Ограничение в 71 столбец и тот факт, что карты стоят денег, означало, что многословие было грехом, лучше всего доверить источнику COBOL. Это отношение перенеслось и в JCL, неофициальный аналог.

Я почти понял, как изменить очередь заданий и параметры в карточке лида, пока я работал с ней. Википедия дает следующий прекрасный пример:

//IS198CPY JOB (IS198T30500),'COPY JOB',CLASS=L,MSGCLASS=X
//COPY01   EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD DSN=OLDFILE,DISP=SHR
//SYSUT2   DD DSN=NEWFILE,
//            DISP=(NEW,CATLG,DELETE),
//            SPACE=(CYL,(40,5),RLSE),
//            DCB=(LRECL=115,BLKSIZE=1150)
//SYSIN    DD DUMMY

Точно.

Следует особо отметить Cincom Mantis, «генератор приложений» (читай: конструктор текстовых форм), работающий на 4GL, подобном COBOL. Mantis - это язык, который помог мне решить получить степень - последний из нескольких CICS в заднице ...

править Упоминания DCL и тому подобного в других местах ... Datatrieve Я тоже помню. Они действительно были ужасны, но все же предпочли VMS всему мэйнфрейму.

9
ответ дан 26 November 2019 в 21:32
поделиться

CSS

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

Взлом языка для создания он делает фундаментальные вещи, например, перемещает одну коробку ниже другой, и все это за один день.

Здесь мы живем в будущем, и просто заставить работать основные элементы дизайна, такие как закругленные углы или падающие тени, - бесполезное упражнение.

Концепция «повторного использования» в значительной степени заканчивается комбинацией Ctrl-C Ctrl- В. Даже опытный писатель CSS редко будет касаться чужой таблицы стилей, а это означает, что базовые макеты регулярно переписываются снова и снова во всем мире.

Конечно, этого не должно быть ».

10
ответ дан 26 November 2019 в 21:32
поделиться

РПГ II ?? кто-нибудь?

Это была одна из худших проверок этого описания Wiki для краткого введения в язык, срок действия которого давно истек.

С другой стороны, вы могли писать программы пьяным или трезвым. и это не имело большого значения

6
ответ дан 26 November 2019 в 21:32
поделиться

Для меня худшим опытом, который испортил мое представление о языке, был Perl. Меня попросили поддержать кучу сценариев perl, которые были «поддержаны» другими людьми, которые быстро покинули компанию через несколько месяцев после того, как их попросили поддержать ее. Хотя язык может быть нормальным, он позволяет коду очень быстро стать нечитаемым и почти неподдерживаемым (если только один человек не прикоснется к нему). Это был беспорядок регулярных выражений, псевдообъектов, однобуквенных переменных и имен функций. Это быстро привело меня к тому, что я переписал все это на Python и полностью отказался от Perl (либо это произошло, либо я ушел). Версия python была настолько удобна в использовании и поддерживалась, что спустя 10 лет она все еще используется, и, насколько я слышал, никому не разрешено снова использовать Perl в этой компании.

10
ответ дан 26 November 2019 в 21:32
поделиться

В Unix, m4 скрипты и sendmail.conf .

11
ответ дан 26 November 2019 в 21:32
поделиться

Мне действительно не нравится Visual Basic, даже версии .NET. Честно говоря, я считаю, что в основе языка лежит многословность.

Например:

If condition1 = condition2 Then
  ...
Else If condition1 > condition2 Then
  ...
End If

Public Function SomeFunction(ByVal arg1 As String, ByVal arg2 As Integer) As String
  ...
End Function

Но в C #:

if (condition1 == condition2) {
  ...
}
else if (condition1 == condition2) {
  ...
}

public string SomeFunction(string arg1, int arg2) {
  ...
}

И, очевидно, многие другие языки, такие как F #, Python и т. Д., Гораздо менее подробны. Честно говоря, мне кажется, что из-за этого у меня уходит в два раза больше времени, чтобы использовать VB, чем на других языках.

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

13
ответ дан 26 November 2019 в 21:32
поделиться

Логотип ... эта чертова черепаха никогда не пойдет туда, куда я хотел.

14
ответ дан 26 November 2019 в 21:32
поделиться

FORTRAN 77

Честно говоря, возможно, в 1977 году это был довольно хороший язык, но к 1999 году мне пришлось поддерживать программу FORTRAN 77, которая была первоначально запущена моим советником, когда он был аспирантом. студент где-то в 1970-х (на перфокартах, первоначально). Программа была «усилена» взломана, более двадцати лет подключалась к ней людьми с разными способностями. Самым старым кодом был ALLCAPS, набитый операторами GOTO, глобальными переменными и функциями с большим количеством параметров, чем у меня есть. Первоначально имена переменных в Фортране были ограничены 6 символами, но для сохранения байтов большинству переменных были даны такие описательные имена, как «A», «B», «AA», «II» и т. Д.

Конечно, большая часть моего опыта было связано с тем, как была написана программа, но не с языком

10
ответ дан 26 November 2019 в 21:32
поделиться

Я дал тот же ответ в другом месте, но я думаю, что он заслуживает своего места здесь:

В конце 90-х мне пришлось написать несколько веб-сайтов в веб-клинке Informix Universal Server (он же Illustra web blade)

Для всех, кто ничего не знает об этой отвратительной среде, это заставило вас использовать самый странный язык, который я когда-либо встречал. Как описал его Джоэл Спольски

. Когда он все-таки запустился, оказалось, что это единственный язык программирования, который я когда-либо видел, который не был эквивалентен Тьюрингу, если вы можете себе это представить.

Подробнее об этом здесь http://philip.greenspun.com/wtr/illustra-tips.html

И пример «простого» условия if:

cond=$(OR,$(NXST,$email),$(NXST,$name),$(NXST,$subject))

Хотел бы я найти полный документ api, поскольку, оглядываясь назад сейчас, это было бы весело / невероятно / трагично.

Один из примеров этого ' Его ужасная природа заключалась в том, что он не имел петель . Любого вида. Можно было взломать функциональность цикла, создав запрос и перебирая его строки, но это настолько неправильно, что меня тошнит.

edit: Мне удалось найти полный образец кода. Вот:

<HTML>
<HEAD><TITLE>WINSTART bug</TITLE></HEAD>
<BODY>
<!--- Initialization --->
<?MIVAR NAME=WINSIZE DEFAULT=4>$WINSIZE<?/MIVAR>
<?MIVAR NAME=BEGIN DEFAULT=1>$START<?/MIVAR>

<!--- Definition of Ranges ---->
<?MIVAR NAME=BEGIN>$(IF,$(<,$BEGIN,1),1,$BEGIN)<?/MIVAR>
<?MIVAR NAME=END>$(+,$BEGIN,$WINSIZE)<?/MIVAR>
<!--- Execution --->
<TABLE BORDER>
<?MISQL WINSTART=$BEGIN WINSIZE=$WINSIZE
    SQL="select tabname from systables where tabname like 'web%' 
        order by tabname;">
    <TR><TD>$1</TD></TR>
<?/MISQL>
</TABLE>
<BR>
<?MIBLOCK COND="$(>,$BEGIN,1)">
    <?MIVAR>
    <A HREF=$WEB_HOME?MIval=WINWALK&START=$(-,$BEGIN,$WINSIZE)&WINSIZE=$WINSIZE>
    Previous $WINSIZE Rows </A> $(IF,$(<,$MI_ROWCOUNT,$WINSIZE), No More Rows,  )
    <?/MIVAR>
<?/MIBLOCK>
<?MIBLOCK COND="$(AND,$(>,$END,$WINSIZE),$(>=,$MI_ROWCOUNT,$WINSIZE))">
    <?MIVAR>
    <A HREF=$WEB_HOME?MIval=WINWALK&START=$END&WINSIZE=$WINSIZE>
    Next $WINSIZE Rows  </A>
    <?/MIVAR>
<?/MIBLOCK>
</BODY>

Prettify не умеет раскрашивать, quelle сюрприз

7
ответ дан 26 November 2019 в 21:32
поделиться

CRM114. Язык, специально разработанный для взаимодействия с очень мощным байесовским фильтром, полезным для фильтрации спама и аналогичных задач.

В прошлом году меня попросил использовать его клиент, и, изучив его, я использовал простой байесовский код из Codeproject .com вместо этого. Позже я нашел сообщение на форуме от автора CRM114 с извинениями за это.

Основной проблемой была грамматика латинского происхождения. Автор признал, что в то время изучал латынь, и поэтому интегрировал ее в свой проект. Таким образом, он получает странные соглашения о порядке операторов и аргументах. Это также привело к использованию слова «alius» (на латыни «иначе» или «иначе») вместо слова «else» в любом другом языке.

6
ответ дан 26 November 2019 в 21:32
поделиться

Я удивлен, что никто не упомянул Sybase PowerBuilder

  • Запутанный синтаксис
  • Запутанная объектная модель
  • Отсутствие встроенной поддержки регулярных выражений
  • Трудно использовать IDE (особенно палитра инструментов)
7
ответ дан 26 November 2019 в 21:32
поделиться

troff

Говорит сколько мне лет. В нем можно было делать довольно милые вещи, но это было грубо. Вы, ребята, которые думаете, что Perl нечитабельно, должны проверить это.

Я имею в виду:

.nr *pop-count 0
.while !'\\n(.z'' \{\
.   \"@warning automatically terminating diversion \\n(.z
.   ie d @div-end!\\n(.z .@div-end!\\n(.z
.   el .*div-end-default
.   nr *pop-count +1
.   \" ensure that we don't loop forever
.   if \\n[*pop-count]>20 .@fatal recovery failed
.\}
.while !'\\n[.ev]'0' .ev
.par@reset-env
.par@reset

И хотите верьте, хотите нет, после того, как мне пришлось делать это в течение многих лет, я остался программировать.

14
ответ дан 26 November 2019 в 21:32
поделиться

Vimscript еще никто не упоминал?

Мое путешествие по Vim было похоже на путешествие Коралины по ту сторону двери. Сначала это было так круто, и мои пальцы были счастливы, но потом я не захотел заменять глаза на VIMScript.

5
ответ дан 26 November 2019 в 21:32
поделиться

ABAP

Используется для программирования приложений для SAP. И это плохо.

5
ответ дан 26 November 2019 в 21:32
поделиться

Bourne Shell

Однажды я управлял системой выставления счетов для телекоммуникационной компании. Это означало, что вручную нужно запустить несколько команд, каждая из которых будет собирать, готовить, вычислять, форматировать и, наконец, печатать счет. Обычно это делалось в пакетной форме, так что мне говорили, для каких номеров клиентов нужно выставлять счета, и я делал их все в пакетном режиме.

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

У меня был гораздо худший опыт программирования. НАМНОГО хуже. Но это всегда связано с поддержанием причудливого кода других людей. Но это должен быть худший язык, который я когда-либо использовал. Хуже, чем командные файлы DOS? О да. Основная проблема командных файлов DOS в том, что они примитивны. Вы должны найти умные способы заставить его действительно делать что-то полезное. Но сам синтаксис не так уж плох. Ему просто не хватает встроенной функциональности. Хуже Visual Basic? О да, без сомнения, хотя, по общему признанию, я написал пользовательский интерфейс для этой системы Bourne Shell в MS Access, и это было почти так же ужасно, но почти. И они общались через Sybase, поэтому мне нужно было изучить Sybase SQL, что тоже довольно ужасно. Но все же не так ужасно, как sh-scripting.

Итак, Bourne Shell выигрывает для меня гигантскую цену. Просто, с VB наступает на пятки, но он все равно побеждает.

12
ответ дан 26 November 2019 в 21:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: