PHP — очень сложный на самом деле. Т.е. он примерно такой же простой, как римская запись чисел: концептуально, вроде, проще, но… А уж для обучения PHP вообще противопоказан, ибо есть абсолютно корявое наслоение говна без единой светлой мысли. К нему вообще можно допускать только «совешенностажных» программистов (со стажем >10 лет) с дипломом — у них психика покрепче: бутылка водки, и никаких последствий, в отличие от малолеток.
может русский язык тоже отменим, в силу того, что 95% говорят и пишут неграмотно?
Эти хоть не лепять уродливые сайтики...
А криворукие похаперы и прочие нехорошие люди, любящие всякую гадость, вроде .Net, сильно мешают жить.
Попробуйте-ка зарегистрироваться из-под линукса на сайте госзакупок!
А чему учат?
Думаю, в Бауманке или МИИТе таки учат, и не плохо. И в МИЭМ тоже.
Учат синтаксису языков. Невероятно полезно конечно... При этом хорошим практикам программирования, оформлению кода, методам рефакторинга, дебаггинга, юнит тестам да и вообще хоть каким-то общим подходам и принципам учить даже не пытаются. А если где-то пытаются, то это только благодаря личной инициативе преподавателя.
О таких вещах как теория алгоритмов или там мат.логика я даж и не говорю. Мат.логика обычно включается в состав какого нибудь другого предмета типа дискретной математики и подается в сжатом объеме. Теории алгоритмов нет вообще.
Зато дофига и больше мат. анализа. А еще можно посвятить годик обучения асму. Опять же - изучая синтаксис. Хотя зачем знать синтаксис асма для какого-то древнего и много лет как вышедшего из употребления микроконтроллера я ума не приложу...
беда в том, что у нас (т.е. в снг) сomputer science не только не преподают — оно отсутствует как класс. так, для сравнения, поинтересуйтесь чего (и на чём) преподают в том же mit. [1] вот. в школе её (информатику) можно вообще не посещать (необязательные классы), в отличие от, например, математики/алгебры. это штатовский подход и он оправдан.
поправьте, если где-то ошибся.
беда в том, что у нас (т.е. в снг) сomputer science не только не преподают — оно отсутствует как класс. так, для сравнения, поинтересуйтесь чего (и на чём) преподают в том же mit.
А еще можно посвятить годик обучения асму. Опять же - изучая синтаксис. Хотя зачем знать синтаксис асма для какого-то древнего и много лет как вышедшего из употребления микроконтроллера я ума не приложу...
Дональд Э. Кнут так не считает - он даёт примеры мало того что на асме, дык ещё и для несуществующего CPU MIX (правда энтузиасты написали эмулятор). Почему так - см. первый том "Искусство программирования".
просто у нас компы рассматривают как замену печатной машинке
мне кажется, проблема в том, что пока ещё учителей нету. не выросло нужное поколение. большинство учителей большую часть жизни прожили без компьютера, откуда им знать, что это такое?
Дональд Э. Кнут так не считает - он даёт примеры мало того что на асме, дык ещё и для несуществующего CPU MIX (правда энтузиасты написали эмулятор). Почему так - см. первый том "Искусство программирования".
Есть небольшая разница. Он даёт примеры для того, чтобы объяснить принципы. У нас изучают асм, ради изучения асма.
Есть небольшая разница. Он даёт примеры для того, чтобы объяснить принципы. У нас изучают асм, ради изучения асма.
это зависит _исключительно_ от преподавателя. Если вам с ним не повезло - читайте того-же Кнута. Я вообще считаю, что нет принципиальной разницы, на каком ЯП учиться. Да хоть на BrainFuck'е - принципы везде одинаковые. ИМХО лучше всего учится на таком ЯП, который используется на практике, просто для того, что-бы не изучать в последствии ещё один синтаксис. К тому-же, ЯП которые используются на практике более лаконичные, что позволит учащемуся абстрагироваться от незначительных деталей, вроде
В C: '=' против '=='. В паскале: ':=' против '='. Не вижу, чтобы один язык был в этом плане лаконичнее другого.
оператор = встречается намного чаще оператора ==. Хотя-бы потому, что сравнений очень много всяких разных, и сравнение на точное равенство - специальный единичный случай. А вот оператор присваивания и конструктор копирования (да, в С он тоже есть, хотя и неявный. Но переменные именно конструируются, а не копируются при записи int a=17;) всего один. == как-бы и должно иметь отдельную запись по аналогии с !=, <=, >=... И все эти операторы следует НЕ использовать при работе с вещественными числами (а вещественные числа - более общий случай, и именно на них надо учиться). Т.о. == это специальный оператор, который применяется только в специальных случаях, для внутренних нужд самой программы. При этом = это фундаментальный оператор, он имеет своё особое действие, и мало того, даже два принципиальных действия, причём эти действия самые часто используемые (посмотрите дизассемблированный код любой программы - там одни MOV и иногда всякие LEA
И все эти операторы следует НЕ использовать при работе с вещественными числами (а вещественные числа - более общий случай, и именно на них надо учиться). Т.о. == это специальный оператор, который применяется только в специальных случаях, для внутренних нужд самой программы.
В CUDA нет понятия FLT_EPSILON и проверка на равенство float-переменной нулю выполняется так:
Я вообще считаю, что нет принципиальной разницы, на каком ЯП учиться.
На самом деле есть. Потому что в разных ЯП разные подходы к одному и тому же. Бэйсик, лисп, С и какой-нибудь питон - очень разные.
Асму вот учат, дабы показать принципы низкоуровнего программирования.
Вы ошибаетесь. Преподаватель учит тому, что записано в программе, потому что именно по этой программе потом будут экзамены, и вопросы на экзамены выбирает отнюдь не преподаватель. И если на этих экзаменах основное внимание уделяется знанию синтаксиса и нюансов конкретного микроконтроллера - преподаватель будет учить именно этому.
Кому как.
(Cам понятия не имею, что такое python, php, perl и тому подобные скриптовые языки - за ненадобностью. Мне на все про все хватает bash, C, javascript)
Вы ошибаетесь. Преподаватель учит тому, что записано в программе, потому что именно по этой программе потом будут экзамены, и вопросы на экзамены выбирает отнюдь не преподаватель.
ответы на вопросы == навыки.
тот кто смог ответить, не понимая принципов == быдлокодер.
а кто понял принцип, тот разберётся. хоть в асме, хоть в php.
При этом хорошим практикам программирования, оформлению кода, методам рефакторинга, дебаггинга, юнит тестам да и вообще хоть каким-то общим подходам и принципам учить даже не пытаются.
О таких вещах как теория алгоритмов или там мат.логика я даж и не говорю. Мат.логика обычно включается в состав какого нибудь другого предмета типа дискретной математики и подается в сжатом объеме. Теории алгоритмов нет вообще.
Да как же, блин, это еще изучать??? Самому чтоль??? Если кто ослил - герой.