Другие языки программирования и технологии

Почему Дейкстра сказал что "Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию"

Неужели это правда? ) И что ему так не нравилось в бейсике?
Basic был первым языком, который я познал. Не скажу, что этот язык меня чему-то полезному научил, а скажу другое: программирование должно быть увлекательным. Когда я писал свои программы на бейсике, это было действительно увлекательным (увлекательным настолько, что я писал тысячи строк на этом языке просто на бумаге, ибо компьютера у меня тогда не было; распечатывал мануалы к нему на матричном принтере, чтобы почитать их дома, со словарём - ангийский я тогда тоже нихрена не знал) . Если бы я начал с какого-нибудь быдлосиблютуз или паскадлы, то интерес у меня отпал бы живо. Так что в этом плане с Дейкстрой я не согласен.
Сергей Дербин
Сергей Дербин
9 617
Лучший ответ
Дейкстра - чересчур самодовольный чувак, приписавший себе алгоритм, который был и ежу понятен, и мнит из себя знатока.

По поводу goto - Хреновому танцору известно что мешает.. . Эти претензии к goto равносильны наездам что в каком-то иностранном языке нет чего-то привычного или наоборот есть что-то совершенно непонятное.

Кстати, при "white-box" тестировании софта зачастую используется именно goto для выделения путей для тестирования. Без этого тестирование может оказаться либо недостаточным, либо будет занимать непозволительно много времени.
Aleksandr Zamkovoy
Aleksandr Zamkovoy
72 183
Радик Шайхутдинов Дело в том, что Basic семидесятых годов не поддерживал конструкции вроде if then-else-end if, не поддерживал процедуры, рекурсию и локальные переменные.

Пример программы

01 REM Найдём-ка максимальное из чисел a и b

10 IF a < b THEN GOTO 40
20 PRINT a
30 GOTO 50
40 PRINT b
50 ...
Бейсик (я имею в виду VB6) - язык программирования с логикой, наиболее похожей на человеческую. Очень легкий и интуитивно понятный. К сожалению устарел, но для домашнего использования подходит.
Юрий Соколов
Юрий Соколов
73 561
Кто его знает, почему он так сказал? Я учил бейсик в вузе, но уже давно благополучно забыл. Сейчас хочу пойти на курсы по программированию. Надеюсь его прогноз хотя бы в отношении меня неверен. =)))
Дело в том, что Дейкстра занимался структурным программированием. А в то время бейсик не имел никаких средств структурирования кроме GOTO.
Получалась такая себе "лапша" из кода, к которой мгновенно привыкали.

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

Он имел ввиду оператор goto (да и не только) .
Он говорил, что студенты, которые впервые узнают про существования
этого оператора, начинают его использовать повсюду. .

Вобщем, он был за те языки, в которых пободных (типа goto, jump..) операторов нет.
Но в некоторых случаях без этого оператора трудно обойтись.
Chika _ _ _
Chika _ _ _
3 846
Андрей Большаков Использование операторов многоуровневого break / continue, финализаций циклов, return и throw позволяет обойтись без goto в 99.9% случаев :)
То есть фактически, во всех 100, но последние 0.1% будут сложнее, чем с goto.
Честно говоря незнаю, не вижу в бэйсике ничего плохого, но и ничего хорошего тоже не вижу. Это довольно несложный язык, который имеет немного возможностей. Но, по моему мнению, обучить хорошему программированию можно любого, кто бы имел к этому хоть немного способностей и желания...
Viktor Mishin
Viktor Mishin
242