1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Какие языки программирования изучать?

Тема в разделе "Программирование", создана пользователем Pashtet, 14.08.12.

  1. The Last Winged

    The Last Winged Активный участник

    12.552
    376
    Даже оперируя вашими цифрами, 100 < 130. Или вы не предлагаете учить С после паскаля? А если C учить придется, зачем учить паскаль?
     
  2. uncertainty

    uncertainty Активный участник

    3.848
    1
    что это?

    ---------- Сообщение добавлено 31.03.2013 18:49 ----------

    изучать язык и изучать программирование - разные вещи.
     
  3. Pasha

    Pasha Активный участник

    4.442
    1
    тоже выскажусь, что бейсик и паскаль абсолютно лишние, они скорее вредны, чем полезны.
    С учить, если будешь потом переходить к плюсам - тоже не надо.
    Я бы порекомендовал С# или Java начать
     
  4. Флавиус

    Флавиус Активный участник

    8.631
    227

    Потому, что Паскаль - язык для обучения программированию. Если не ошибаюсь, он для этих целей и создавался. Именно программированию, а не языку программирования, т.к. знания языка не делает человека программистом.

    Безусловно, серьезные проекты пишутся на С, но начинать с него обучение нерационально. С нужно изучать в рамках углубления знаний или специализации. К тому же сейчас в программировании полно специализаций, где знания С вообще не нужны.
     
  5. Pasha

    Pasha Активный участник

    4.442
    1
    Зачем учить то, что потом не понадобится? Простейшие программы можно писать сразу и на нормальных языках, а не на суррогатных языках-обучалках. ЧТо значит, что с Си начинать нерационально? Простейшие программы на нем не пойдут? Алгоритмический подход будет труден? Много времени займет изучение?

    И да, перестаньте наконец путать C C++ и Objective C.
     
  6. uncertainty

    uncertainty Активный участник

    3.848
    1
    Pasha,
    Pascal вполне себе нормальный язык. То есть он и "обучалка" и в тоже время вполне себе промышленный язык.
    мне не хочется углубляться в теорию, но для дальнейшей работы изучения нужно брать паскаль, а для дальнейшей работы - все что угодно
    Вы же сами сказали, зачем учить то, что потом не понадобится?

    ---------- Сообщение добавлено 31.03.2013 22:51 ----------

    к паскалю я бы добавил еще хаскель и схему
     
  7. Флавиус

    Флавиус Активный участник

    8.631
    227

    Почему вы так решили?

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

    Да, скорее всего сам Паскаль в дальнейшем не пригодиться, но знания, полученные в процессе обучения пригодятся для изучения чего-то другого. Например после Паскаля комфортно изучать php и javascript. И вообще навыки программирования хорошо прививаются.
    Также в техническом ВУЗе есть ряд дисциплин, расчеты по которым лучше делать с помощью ПК. А на Паскале это удобнее и быстрее, плюс навыки практического применения.
     
  8. Pasha

    Pasha Активный участник

    4.442
    1
    на 5%? на 10%?


    Javascript, этот чудный язык с Си-подобным синтаксисом, удобнее изучать после Паскаля, чем после Си?
    А пхп, почему перед ним лучше знать Паскаль?

    А при программировании на Си плохо?

    Удобнее? Быстрее? Можно статистику посмотреть? В моем вузе была куча расчетов, и их было удобнее и быстрее делать на Си. Навыки практического применения чего? Паскаля?
    А если на брейнфак пишешь, то можно с гордостью написать, что получил навык практического применения брейнфака. Но поверьте, работодателю Паскаль, как и брейнфак, не очень интересны, им интересен опыт применения других языков, не учебных.


    Вот по чесноку, я просто вижу, что почти все защищают те инструменты, к которым привыкли.
    Начали учить паскаль - и все, самый лучший язык на свете, да еще и в дельфи можно окошечки рисовать...
     
  9. The Last Winged

    The Last Winged Активный участник

    12.552
    376
    Если человек не может сразу выучить C, а должен "учиться программированию", - лучше метелку в руки сразу дать, чтобы по способностям работал.
     
  10. Pasha

    Pasha Активный участник

    4.442
    1
    The Last Winged, согласен!

    Что-то не припомню ни одной книги по паттернам программирования с примерами на паскале, а ведь это что ни на есть изучение...
     
  11. uncertainty

    uncertainty Активный участник

    3.848
    1
    я так думаю, что Вы сейчас вели речь, например, о "банде четырех" или о МартинеФаулере. Если да, то там используются терминология ООП. В паскале нет ООП, на нем невозможно написать какой-либо пример.

    а вообще, это проблемы языка С++, что для него надо придумывать сложные паттерны, один из добавленных мною языков для изучения с легкостью делает их ненужными ;)

    ---------- Сообщение добавлено 01.04.2013 09:57 ----------

    Это инженерный подход в самом худшем его проявлении.
    нет, даже убого-ремесленнический.
    потому как если ориентироваться вот на это
    http://blog.codeeval.com/most-popular-programming-languages-of-2013
    то нужно изучать питон
     
  12. The Last Winged

    The Last Winged Активный участник

    12.552
    376
    Обоснуйте.
    Эти языки очень похожи, и их отличает популярность и приближение к машине(однако для базовых действий новичка работы с памятью не нужно). Для чего же тогда учить паскаль?

    На ЭТО не нужно ориентироваться. Кажется неадекватным. Есть другие источники статистик.
    Кстати, питон в роле первого ЯП прекрасен: прост, строг, мультипрадигменен, популярен, прменяется в множестве сфер и мощный.
     
  13. uncertainty

    uncertainty Активный участник

    3.848
    1
    какие?

    ---------- Сообщение добавлено 01.04.2013 14:28 ----------

    Потому что он строгий и правильный в отличии от C.

    ---------- Сообщение добавлено 01.04.2013 14:45 ----------

    а вот этого в Паскале не так уж и много. Если изучать систмное программирование, то нужно от Паскаля переходить к модуле-2, а список устройств, где применяется модула-2 и критерии ее выбора говорит сам за себя о качестве разработки этого языка и его надежности, который в свою очередь является развитием паскаля. вот так вот.
    просто системные штуки не все студентам нужны, вот поэтому и паскаль, а если нужны системные штуки, то модула-2, но никак не C
     
    Последнее редактирование: 01.04.13
  14. rootproc

    rootproc Активный участник

    1.159
    14
    Язык - это всего лишь инструмент, в том числе инструмент обучения.

    Взять например курс "Алгоритмы" на Coursera. Там использовалась Java. Курс "Базы данных" - в одном из вариантов Java, в другом Python. Курс "Софт как сервис" - Ruby. Были и другие курсы с этими языками. Остальные языки на курсах встречаются реже.

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

    В порядке "больше понравилось" предложу: Ruby, Python, Java.
    В порядке "практичнее для обучения" чуть иначе: Python, Ruby, Java.

    В последнем списке учел, что ява для новичка сложновата. Иначе поставил бы на второе место.

    Если есть желание зависеть от отечественной системы образования, а по окончании вуза пойти работать за 15 тыс рублей - изучайте Паскаль :) Английский в таком случае не нужен.
     
  15. The Last Winged

    The Last Winged Активный участник

    12.552
    376
    uncertainty, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

    Который оказывает сильнейшее влияние на стиль мышления и архитектуру.

    По сравнению с перечисленными другими языками она самая простая имхо. На порядки проще.

    Я именно эти курсы недавно и прошел (кроме алгоритмов, которые просто просмотрел). Как тесен мир.
     
  16. uncertainty

    uncertainty Активный участник

    3.848
    1
    The Last Winged,
    я так и думал, что будет эта ссылка. Вы что же, думаете я не знал про нее? Если не вдаваться в подробности по моей ссылке прочитайте комменты, там есть ответ почему так.

    ---------- Сообщение добавлено 01.04.2013 16:24 ----------

    это распространённая ошибка либо недалёких либо необразованных людей. Взять высказывание, которое противоречит их мировлзрению и сделать вывод, который им нравится.
    а давайте попробуем наоборот (только не считайте это выводом, это фраза для того, чтобы показать абсурдность ваших слов)
    если нет желания зависеть от отечественной системы образования, так как паскаль применяется для обучения студентов за границей, а пото после вуза пойти работать на пару штук баксов, так как разумные люди везде нужны, выучить английский и объездить полмира, то начнитк изучение рограммирования с паскаля

    ---------- Сообщение добавлено 01.04.2013 16:25 ----------

    вот объясните мне как в курсе по базам данным может использоваться питон или ява?

    ---------- Сообщение добавлено 01.04.2013 16:28 ----------

    rootproc,
    ранее еще вопрос к вам есть, который вы почему-то без ответа оставили, про реальные применения
     
  17. IvUs

    IvUs Активный участник

    13.204
    967
    На том паскале, описание которого занимает три десятка страниц ничего серьезнее упражнений по информатике сделать нельзя. А всякого рода расширения типа дельфей требуют дополнительных "страниц" и превращают язык в пародию на Си.

    Если конечным итогом изучений предполагается работа программистом за деньги, то нужно изучать С/C++.
    Оно, конечно, здорово, что каким-то телескопом управляет код на форте, а вокруг земли летает несколько спутников с софтом на модула. Но на практике большинству разработчиков приходится писать более прозаические вещи для linux/windows/osx/ios/android и в этих системах знание паскаля или модулы никак не помогает.
     
  18. The Last Winged

    The Last Winged Активный участник

    12.552
    376
    А что, кроме DBA никто не может работать с базами?
    К примеру, по вашему мнению, знание СУБД не нужно программистам? Мне кажется, что нужно.

    Поэтому у них есть курс для DBA, ориентированный на администрирование, где из ЯП надо знать только JavaScript, а есть курсы для Python и Java разработчиков, где учат работать с этой СУБД программистов.
     
  19. uncertainty

    uncertainty Активный участник

    3.848
    1
    для работы с СУБД ни питон, ни ява, ни паскаль.
    попробуйте написать на любом из этих языков программу, которая подсчитывает сумму в поле таблице и, если сумма больше 1000 выполняет резервеок копирование базы данных.
    причем напишите так, чтобы это работало и для оракла и для мссиквела, раз вы научились на курсах программистов
     
  20. Флавиус

    Флавиус Активный участник

    8.631
    227

    Ну так не факт, что надо больше. Обучение в любом ВУЗе построено по принципу матрешки. На простое надевается более сложное.
    Не знаю как сейчас в ВУЗах, а нам преподавали Паскаль в рамках курса "Основы программирования", который читали всему потоку все зависимости от специальности. Причем преподавали не сколько Паскаль, сколько именно Основы программирования. И преподавали так, что тема доходила даже до блондинок, которые на факультет попали случайно, не добрав баллов на экономику и юрфак.
    Со второго курса в зависимости от специальностей начинали преподавать другие языки программирования, в зависимости от специальности, в том числе и C++/Builder.

    А сейчас знакомых студентов на Основах программирования учат языку С\С++. Судя по лекциям преподаватели им расписывают каждую функцию. В результате они владеют языковыми конструкциями, но не знают куда их присунуть.
     
  21. IvUs

    IvUs Активный участник

    13.204
    967
    Да, в качестве инструмента для изучения основ программирования паскаль хорош. Но потом нужно двигаться в сторону чего-то более серьезного.

    Весьма разумно.
     
  22. uncertainty

    uncertainty Активный участник

    3.848
    1
    я бы переформулировал: "в сторону того, на чем планируешь зарабатывать деньги". Потому как та же Модула гораздо посерьезнее С/С++ будет.

    ---------- Сообщение добавлено 01.04.2013 21:17 ----------

    просто чтобы уточнить.
    до кучи
    Программное обеспечение атомных электростанций Канады (управление реактором)
    "космический" движок в Боинге
    В Англии модула управляет субмаринами
    в GM, Delphi, Delco осуществляется управление двигателем, трансмиссией, и всякой другой электроникой типа ABS.
    а в России на модуле написано бортовое программное обеспечение космических агрегатов
     
  23. uncertainty

    uncertainty Активный участник

    3.848
    1
    да, можно. см. картинку. опрос по 447 университетам
     

    Вложения:

    • Pascal.JPG
      Pascal.JPG
      Размер файла:
      41,9 КБ
      Просмотров:
      459
  24. uncertainty

    uncertainty Активный участник

    3.848
    1
    я уже приводил примеры - операционка Apple и редактор TeX
     
  25. Pasha

    Pasha Активный участник

    4.442
    1
    как я понял, это статистика по количеству учебных заведений, где используется этот язык. Табличка по распространенности, так сказать.
    А я спросил другое: есть ли где информация о том, что написание программ на Паскале происходит быстрее или удобнее?

    ---------- Сообщение добавлено 01.04.2013 21:55 ----------

    о_О откуда дровишки?
     
  26. IvUs

    IvUs Активный участник

    13.204
    967
    это которая?

    Если заглянуть внутрь, там ужас тихий
    http://www.tug.org/TUGboat/tb30-3/tb96hoekwater-pascal.pdf
     
  27. Pasha

    Pasha Активный участник

    4.442
    1
    Mac OS X, at the kernel layer, is mostly an older, free operating system called BSD (specifically, it’s Darwin, a sort of hybrid of BSD, Mach, and a few other things)... almost entirely C, with a bit of assembler thrown in. (Source)

    Much of Cocoa is implemented in Objective-C, an object-oriented language that is compiled to run at incredible speed, yet employes a truly dynamic runtime making it uniquely flexible. Because Objective-C is a superset of C, it is easy to mix C and even C++ into your Cocoa applications. (Source)
     
  28. E13

    E13 Активный участник

    10.793
    1.680
    IvUs,
    Писал на TP7 под DOS. Последнее, с чем дело имел - файловый редактор для Асма с программируемой подсветкой синтаксиса (придумал аналог регулярных выражений), многоуровневыми меню, многооконностью и отсутствием ограничения в 64КБ для редактируемых файлов. Ну и, конечно же, прочими редакторными фичами вроде поиска, выделения текста и т.п.

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

    ---------- Сообщение добавлено 01.04.2013 22:17 ----------

    А ещё на Паскале можно было писать вирусы! :spider:

    Примитивные, конечно - типа сдёрнуть N байт исходного файла к себе в данные, записать себя вместо них, при запуске отработать, вернул байты назад, заново запустить тот же самый файл, после завершения работы вернуть себя обратно, завершиться - но тем не менее!
     
  29. Pasha

    Pasha Активный участник

    4.442
    1
    Для изучения алгоритмов вообще можно не опираться ни на один известный язык, писать себе на русскоязычном псевдокоде, в принципе этого достаточно. А алгоритмы - это 90% успеха.
    Остальное - это технические вопросы.
    Господа паскалеписатели, раз вы уверены, что Паскаль лучше, чем Си для изучения с нуля, то вы либо опираетесь на чье-то компетентное мнение, либо имеете опыт написания в обоих языках.
    Первый вариант мы пока не трогаем, на эту тему есть куча статей, написанных гуру программирования.

    Но ответьте, что такое плохое есть в Си, что мешает скорости изучения?
    Что мне слегка мешало в первую неделю перехода с Паскаля на Си - я помню до сих пор.

    1. Отсутствие проверки выхода за границы массива. Самое пожалуй тупое и надоедливое. Отрицательные
    индексы или недостаточный размер массива - и получаешь в лучшем случае сразу Segmentation fault, (что в ДОС - не помню), а в худшем - отложенные глюки, проявляющиеся неявно и не сразу.

    2. Неявные преобразования типов - когда система за тебя решает, что к какому типу привести. Паскаль по рукам за это бьет, а в Си просмотришь момент - и получишь результат, которого не ожидаешь.

    А что сразу понравилось - лаконичность языка. На исходники смотришь не как на простынку со сплошным текстом, а как на простую и четкую схему работы без этих бесконечных then, begin и end, загромождающих поле зрения. Ну эт я отвлекся.

    Неужели эти два пункта вызывают такие большие проблемы?? Сколько надо времени, чтобы с ними справиться?
     
  30. The Last Winged

    The Last Winged Активный участник

    12.552
    376
    Так он и говорит, что паскаль не для написания программ, а для обучения. Вот только обучения чему - не до конца понятно.