LINUX.ORG.RU

Стоит ли учить Delphi? А может сразу на C?

 , ,


0

4

Добровольно-принудительно По традиции русской информатики, я сейчас доучиваю TurboPascal по учебнику Фаронова. И что же дальше:

  1. Учить Delphi (Фаронов). Пописать на Embarcadero Studio, а потом на C. Я читал форумы и вроде Delphi еще нужен в ВУЗах.
  2. Учить C ANSI по учебнику Ритчи. И дальше в программирование на GNU/Linux.
  3. Выучить C, перейти на C++, а там куда глаза глядят. Но я боюсь, что C++ не осилю (чтобы писать грамотный код) без наставника.

UPD1:Мне объяснили,что Pascal/Delphi не нужен.

Deleted

Последнее исправление: yangramovich (всего исправлений: 3)

Ответ на: комментарий от anonymous

это факт. а потом на форумах куча дебильных вопросов от «программистов на Qt».
потому 3-й пункт: сначала хорошее знание С (как основы), а потом уже переход на С++.
Delphi сейчас используется только в ВУЗах, потому что преподы пенсионного возраста с позапрошлого века его знают, и больше ничего. он ещё кое-где остался, на задорках цивилизации, в редких замшелых НИИ. запросов на него на сайтах поиска работы - один к миллиону. и все типа «у нас есть очень древнее ПО, написанное на Delphi, которое надо поддерживать...». так что его изучение не имеет практического смысла.

Iron_Bug ★★★★★
()

можно совместить, Pascal+C

как программировать компьютер

книжка по Oberon-2 применительно к компилятору oo2c, компиляцией через С.

ставим линукс, ставим компилятор, ну и погнали.

с паскаля на Oberon-2 будет просто переключиться. а С тебе и компилятор сделает.

сейчас в плане реализации вместо oo2c можно взять компилятор от xds, или vishap oberon-2 компилятор или Oxford Oberon-2 compiler

ну или BlackBox Component Pascal и книжку Warford J. S. Programming with BlackBox

ну или забить на паскаль-подобные и учить сразу Ocaml.

там язык модулей интересный, с структурами/сигнатурами/функторами: легко делается композиция модулей, модуль это значения/типы/замыкание над лямбда-функцией с типами.

если не понял о чём это, читай книжку TAPL, срочно. потом проще будет.

anonymous
()
Ответ на: можно совместить, Pascal+C от anonymous

хелловорды отакуют

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

anonymous
()
Ответ на: комментарий от hobbit

вставю пару копеек: больше чем знание языка, нужна дисциплина

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

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

Во-первых, для расширения, во-вторых, Паскаль дисциплинирует, в третьих, у тебя будут навыки, позволяющие с лихвой закрыть требования вузов на этот счёт. На Паскале можно оттренировать многие нужные программисту навыки, например, правильно структурировать код и НЕ ПИХАТЬ, ВАШУМАТЬ, всю логику гуёвой программы в модуль главного окна. Я тоже когда-то думал, что этим страдают, в основном, дельфятники - фигушки, на Qt такого тоже хватает.

да, даже учителя информатики жалуются: на обработчики в OnButton1Click-ах: Учителям информатики - Компонентный Паскаль_Блэкбокс

и предлагают простой понятный GUI без подобной вот лапши, пример калькулятора на BlackBox Component Pascal + «интеракторы» пример GUI на командах и интеракторах

Но вот, потом перешёл на Qt и грамотно разбить код на классы то ли не хочет, то ли не может.

поэтому учить надо не особенности языка, IDE и стандартной библиотеки — а навыки грамотного, компонентного конструирования программ.

А потом, да, можно взяться за Си. Там тебе придётся особое внимание уделить тому, как там реализовано подобие модульности

причём, если понимать что такое эта «модульность», «раздельная компиляция», «компонентность» — то можно нормальную структуру модулей, архитектуру и в простом Си выстроить.

ограничив его свободы, ага

во-вторых, Паскаль дисциплинирует,

потому что практика = дисциплина + технология. технология не столько уж важна, сколько общая идея структурирования, упорядочивания красот этой самой технологии — то есть, ordnung, или по-римски, дисциплина.

можно нормальную структуру модулей, архитектуру и в простом Си выстроить.

например, возьмём как пример емакс Emact Кристиана Жульена, автора OpenLisp, на Си.

что же мы видим? строгий модульный интерфейс, модули и компоненты на Си обычном ANSI C, абстрагирующие терминалы и прочие системно-емаксовые части.

модули можно и на си изобразить, если действовать аккуратно.

anonymous
()
Ответ на: можно совместить, Pascal+C от anonymous

Oxford Oberon-2 compiler

он написан на Си + Ocaml, так что читая книжки по Oberon-2,Ocaml, C и подглядывая одним глазом в исходники можно совместить изучение всех трёх и заодно прояснить некоторые моменты, как работает та или иная фича конкретной простой системы: сборщик мусора, загрузчик модулей, рантайм и компайлтайм, метапрограммирование ну и т.п.

параллельно изучить все три языка Oberon-2, C, Ocaml на таком примере можно быстрее, чем по отдельности.

anonymous
()

да, а для более конкретного понимания фич языка можно также посмотреть в реализацию его runtime library.

например, Delphi и стандартная VCL. и балласт на 400 кб на пустое окошко с кнопкой.

или KOL, в качестве стандартной библиотеки. и 20 кб на минимальное окно, с той же функциональностью.

если смотреть подробнее, то выясняется что KOL сильно завязана на фичи Object Pascal: class method, RTTI по классам и т.п. (как и VCL, собственно).

вот пример чем отличается ООП в С++ и в Delphi, например.

anonymous
()
Ответ на: комментарий от Deleted

Что школьники за бугром учат вместо Паскаля?

Кэмбридж: Oberon-2 на младших курсах (отсюда Oxford Oberon-2 compiler) и Haskell на старших, с промежуточными Ocaml, C

ETH, Швейцария: Oberon-2 на примере языка Active Oberon операционная система A2 (старое имя BlueBottle) на ARM: робототехника, встраиваемые системы, Internet of Things, умный дом, и т.п.

на С++ они задолбались бы с синтаксисом бороться, а так  — студиозусы делают БЫСТРО нечто работающее ПРОСТО, на полгода курса.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.