Обновить
14

Химик и программист.

32
Подписчики
Отправить сообщение
// delphi
link = ^node;
node = record
left, right: link;
// something else
end; // record
(почему-то «исх. код» перестал работать)
Да, минусаторская импотенция :(
Как всегда: минус поставил, а возразить не смог.
ИМХО статья в принципе верная, но слишком поверхностная. Читаем:

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


Можно подумать, что нужно знать все напряжения в вольтах которые выдает БП для питания CPU. Бред. Хорошему программисту это знать не нужно. Если только у него возникнет проблема ремонта домашнего ПК.

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

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

Много слов про оптимизацию. Но оптимизация может быть не только по времени выполнения, но и по памяти. И часто одна вредит другой. Автор не хочет видеть такие «мелочи».
Да, грош цена такому «стандарту».
Никто не может дать 100%-ую гарантию, но это был один из лучших инструментов, с которыми мне довелось работать (не учиться).
PS Думаю, что и учебный Виртовский Pascal-S сообщил бы о фатальной ошибке. Тут дело в принципе. В Basic пытались минимизировать «травмирующие» сообщения, а в Паскале наоборот. Поэтому Паскаль очень быстро перестал быть чисто учебным ЯП.
Могло быть на Си, но Pascal 8000 for OS 360/370, сделанный в Австралийском атомном центре, тестировался на подобные баги. Когда компилятору не хватало памяти — он прерывал процесс и выкидывал сообщение. Это был не учебный компилятор.
Теоретически от переработки может спасать хобби. Но это чисто теоретически. Нпр., если увлекаться горным туризмом, есть вероятность попасть под лавину. Если увлекаться играми, то играть на компе сутками не будет полезно. Если увлекаться общением, то сидеть в пивной от открытия до закрытия — не лучший вариант отдыха. Рецепт один: развивать в себе чувство меры, не быть запойным. И тогда хобби очень может помочь.
Думаю, что привыкнуть к таким локализованным языкам учителям было сложнее, чем ученикам :) Такие языки диалекты? Если да, то сравнение диалектов не проще сравнения языков.
вместо того чтоб послать нас упрощать формулу, обрезал её сам.
Похоже, что это проявление Basic идеологии: «прощать» максимум ошибок пользователя. «Хорошо» характеризует язык, очень «полезно» для обучения.
PS Для естественных языков:Вики:
Не существует единого понимания и соответственно единых критериев для разграничения языка и диалекта, поэтому, говоря, что данный идиом является языком или диалектом, необходимо оговаривать, что понимается под тем или иным термином. В случае, когда нужно избежать выбора, лингвисты обычно используют термин идиом, обозначающий любую мало-мальски отличную от других разновидность языка.

Идиом может считаться диалектом, например, если:

он не является стандартизованным литературным языком;
его носители не имеют собственного государства или автономного образования;
он не является престижной формой общения.
одна интересная особенность языка Алгол 68 — его «многоязычность» — в язык заложена возможность использования различных таблиц трансляции, что позволяет для каждого естественного языка определить свой набор ключевых слов Алгола-68. В результате программисты получают возможность писать программы ключевыми словами родного языка.
Вики
Было много попыток перевести какой-то ЯП целиком на русский. И имена и ключевые слова. Аргументировали это тем, что в учебниках и методичках примеры содержат выражения типа «перейти на», «если то», и тупые ученики не понимают, что в проге надо набрать goto.
Такой ЯП будет диалектом? Американец может не понять «перейти на», а ЯП не только для машин, но и для человеков.
Думаю, что QBasic правильнее назвать самостоятельным языком, а не диалектом.
ИМХО это сложный философский вопрос: с какого момента диалект становится самостоятельным языком?;)
Возможно. У нас в НИИ на Basic мало кто работал. Разве что дипломники, но и они больше на турбо.
Получается, что мы говорим о разных языках.
Извините, перепутал версии: не 3.2, а 3.3. Но в поставке для АН СССР был QBasic. Но это была спец.поставка.
ИМХО чтобы разворачивать, надо понять что такое рекурсия.
Структуру бинарных деревьев проще понять через рекурсивное определение. И операции с ними, следовательно, рекурсивные. А записать нерекурсивные можно, но для начинающего сложно и не нужно.
Очевидно, возможно. Начиная с первого элемента обходить м-цу описанной процедурой, но не до конца (до полоного заполнения м-цы), а до элемента (i, j). Важно, что каждый элемент заполняется нужным значением только однажды, и оно не меняется. Можно оформить, как функцию от (i, j), которая возвратит искомое значение. Если предполагается, что вызовов функции будет много, то лучше обсчитать всю матрицу и просто читать значения нужных элементов.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность