> последовательности. Вопрос был о том, с чего лучше начинать > ПРОГРАММИРОВАТЬ. Ответ "с асма, потому что к нему все > сводится" я довел до абсурда "с физики твердого тела, > потому, что на самом деле все сводится к ней". > ... > Было уже обсуждение. Оптимальная кодогенерация и > оптимальное распределение регистров - NP задачи (не уверен > насчет полноты). То бишь время экспоненциально. То есть > оптимальность "ручной оптимизации" под большим вопросом. Ну > а что до сложности > ... > Итого, преимуществ нет (кроме мелких затычек для узких > мест), а сложность (например абсолютное отсутствие > избыточности, необходимой для контроля ошибок) в качестве > недостатка делает асм неприменимым для реального > программирования.
Что-то здесь все скатилось от исходной темы к "Какой язык лучше".
Начну с конца. Асм применим для реального программирования. Пример тому - каждый второй автомобиль оснащен микропроцессорным контроллером инжекторного двигателя. Современные (микроконтроллерные, а не механические) стиральные машинки, СВЧ печки, мобильники, промавтоматика. Ни на сях, вижуалбэйсиках и паскалях для них програмки пишут.
Для каждой задачи - свой язык (инструмент). Можно и мобильником гвозди забивать, но не будем рассматривать такие случаи.
Ну и к теме. Я, навероное, все-таки не возьмусь советовать: "паскаль" или "си" для начинающего - с чего лучше начать. Для меня они во первых все похожи, а во вторых я не настаиваю, это субъективное мнение, все-таки один день (первый день изучения алг. языков) посвятить ассемблеру.
Может следует изучать то, что более распространено, на чем народ больше пишет, то за чем будущее, то, что зарекомендовало себя за долгие годы. У некоторых языков был век короток, некоторые зародились давно и распространены до сих пор. Чтоб не устраивать в голове кашу и не переучиваться каждый год нужно язычек подобрать соответствующий.
> Ни фига. На начальном этапе человеку совсем необязательно > знать, что есть 33-й бит (на 32-битной архитектуре), куда > переносится бит при переполнении. А > биты-байты-слова-двойные слова вполне можно объяснить и без > всяких асмов
Можно, но практиковаться надо на асме, в голове хоть что-то отложится.
На одном сайте натолкнулся на вопрос:
"с какого языка начинать учить азбуку программировния - с PASCAL (DELPHI) или идти путем Си (Java)?"
И несколько ответов:
с Бэйсика
с Паскаля
с любого структурированого, но лучше с Паскаля
по-любому лучше с Бэйсика.
Предлагаю обсудить эту тему. На мой взгляд лучше Паскаль.
Че-то отвлеклись все. Может пора закрывать ветку? Или не надо?27.10.05 18:01 Автор: Fighter <Vladimir> Статус: Elderman
Жалко только что про яву мало спорят. Я очень люблю когда при мне говорят слово "кроссплатформенный". У меня сразу слюноотделение резко повышается и может родимчик приключиться. Не знаю почему.
Потом z0 проснулся неожиданно - тоже хорошо. Когда ж мы в баню-то пойдем, родное сердце?! Как раз снежок выпал, сейчас самое милое дело на фонари залиться и выскакивать из парилки в сугроб во дворе :)
Где-то на 3-й странице рассказывают разницу между объектами и структурами - всюду жизнь!
"призрак видел все!"(с)28.10.05 14:31 Автор: z0 <z0> Статус: Member
Рисовать то я рисовал, но только для отчетности (на некоторых лабораторных в отчете надо было привести блок-схему). Сначала программа, а потом по этой программе - блок-схема :-)
Ту дык и с чего бегинерсу лучше начать? С Си или блок-схем?26.10.05 15:46 Автор: Den <Денис Т.> Статус: The Elderman
Не видел ни одной уважаемой книжки по программированию, где были бы нарисованы эти уродцы. Книжки с UML видел, хотя он мне и не особо нравится, а вот с блок-схемами - нет.
На свалку Истории?26.10.05 17:03 Автор: Den <Денис Т.> Статус: The Elderman
Они морально устарели? Принципы блок-схем перестали соответсвовать ныне используемым языкам?
Блок-схемы или некоторое их подобие перестали использовать при разработке больших проектов на этапе проектирования для связи между компонентами и модулями программ?
Но на физика. Из программухи были только численные методы. Сдавали проги, объясняя устно как все работает.
а функциональные языки лучше вобще не учить или просто начинать с них не стоит??25.10.05 21:55 Автор: zelych Статус: Member Отредактировано 25.10.05 21:55 Количество правок: 1
Но так как язык определяет вещи о которых ты способен ДУМАТЬ (не помню как назывался опыт, но для естественных языков это доказанный факт), то лучше выучить как можно больше языков и желательно с поддержкой как можно большего числа парадигм
--------------
Только что подумал, что ты мог неправильно употребить выражение функциональные языки (где то там внизу уже встречалось такое неправильно употребление). Функциональные языки это Lisp, Haskel, ML (OCaml, SML). Функиональную парадигму в той или иной мере поддерживают также мультипарадигменные языки типа python, tcl, ruby, perl
C/C++ и Pascal/Delphi никак нельзя назвать функциональными языками (хотя я встречал библиотеку темплейтов для C++, которая добавляет поддержку функциональной парадигмы в C++ - intelib называется)
Если же имелись в виду процедурные языки (не ООП), то учить их конечно тоже стоит. Если сильно хочется можно и начинать с них же.
Начинать надо с того, что ближе к машине27.10.05 05:15 Автор: Zef <Alloo Zef> Статус: Elderman
Тем более, что ты ведь не знаешь, какие задачи жизнь тебе подсунет. Зачем загружать себя предметно-ориентированной лабуой, котоая, возможно, никогда не понадобится? Надо знать, как эта лабуда (компилеры) функционирует и пишется, тогда, при необхоимости легко осоишь любой язык, или создашь новый под конкретную задачу.
В этом смысле С - разумный компромисс между машинным и человеческим. Он уже понятен человеку, но на нем еще можно сделать все, что угодно. Другие языки позволяют делать только то, для чего они предназначены.