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)

Не стоит учить Delphi, а вот C другое дело.

anonymous
()

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

Только замахнулся писать что нужно сразу на Си, а ты уже правильно написал.

Повторю: нет ни малейшего (!) смысла писать на паскале/дельфи сейчас в 2016-м году. Просто не понимаю зачем. С++ дело другое, но Си - язык простой и как по мне красивый.

I-Love-Microsoft ★★★★★
()

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

Нихрена ты не понял.

Не нужен Delphi и TurboPascal (который сгнил раньше чем ты родился)

Но раз уж ты завязался с паскалем, то имеет смысл освоиться в FreePascal и PascalABC для хорошей сдачи ЕГЭ, так как это у тебя на сегодня главная задача.

А если есть желание попробовать «раскидать кнопочки» - то тут, с учетом паскаля, можно на досуге поковырять Lazarus - он по крайней мере кроссплатформенный и не требует кучи денег.

ЗЫ: Кстати, в 99% школах РФ, где юзают TurboPascal, его попросту сперли. Так как эта какаха мамонта еще и платная, причем ценник конский...

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

for personal use only

не позволяет использовать для обучения.

так что в школе надо платить :)))

аналогично как и «домашние» классические делфи и борланд

anonymous
()

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

тебе это объясняли неосиляторы

ps/ 1) pascal очень строгий язык и учит ещё и дисциплине программирования 2) в обыденной жизни применяется больше чем C и наверное даже чем C++ - значительная часть всякой мелочёвки написана на Delphi/Pascal 3) Очень много языков на нём базируются

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

значительная часть всякой мелочёвки написана на Delphi/Pascal

вспомнила бабушка как девочкой была :) именно что «написана»!

в связи с тем что 99.999% это делфи-мелочевки - это закрытые исходники, то толку от 2 никакого.

что такое 3 - не понятно, ну а 1 - спорно :)

anonymous
()

Выбирать надо не язык, а предметную область, которой собираешься заниматься. Тогда и выбор языка сделается, си и делфи - вообще разные области.

Если не знаешь чего хочешь - потрать по несколько дней на каждый вариант, почувствуешь что нравится.

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

Копипаста же. Человека упоротого хаскелем.

anonymous
()

Начинай сразу с Rust. После него C++ изучишь за два дня.

rupert ★★★★★
()

Пописать на Embarcadero Studio, а потом на C.

Поскольку ты на ресурсе про Linux, рекомендую вместо Embarcadero Studio поставить fpc и Lazarus. Очень похоже на старые Delphi.

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

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

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

А потом, да, можно взяться за Си. Там тебе придётся особое внимание уделить тому, как там реализовано подобие модульности. Потому, что если ты неправильно напишешь, например, стража компиляции, ты можешь получить сообщение об ошибке, связать которое с его причиной будет крайне трудно. У меня причём сложилось впечатление, что книги по C и C++ для начинающих этот вопрос либо игнорируют, либо уделяют ему явно недостаточное внимание. В паскале этих проблем нет - там модульность работает из коробки. (В паскале, конечно же, есть другие проблемы, которых нет в крестах, но они более явного характера, т.е. менее коварны).

Но я боюсь, что C++ не осилю (чтобы писать грамотный код) без наставника.

Если будет желание покачать знания C++ на реальном проекте - можешь написать мне, поработаю наставником, есть кое-какие идеи. Проект будет опенсорсный, библиотеки под LGPL.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

P.S. Тут диванные аналитики ещё оказывается орут «Си не нужен». Си вполне себе нужен для низкоуровневых проектов типа ядра Linux. Ты не написал, какой отрасли программирования ты хочешь себя посвятить, но если хочешь заниматься низким уровнем - Си изучать нужно углублённо. А если нет - то да, тебе больше пригодятся кресты, но немного потыкать Си (хотя бы на уровне лабораторок) и работу со строками через strcpy всё равно надо, хотя бы чтобы знать, во что это вырождается на низком уровне.

hobbit ★★★★★
()

Embarcadero Studio

Как же я сейчас проблевался. Меня в этом говне заставляли на плюсах код писать.

А выбирать получать пятерочки в вузе или иметь возможность получить работу после - дело твоё.

anonymous
()
Ответ на: Язык имеет значение!!1один от anonymous

Проведя анализ ВСЕХ своих проектов, сделанных за последние 9 лет, я пришел к выводу, что ВСЕ они (кроме драйверов и прошивок микроконтроллеров) могли бы быть сделаны на Haskell.

Анон, а почему уж тогда не на Erlang?

Ну и твоя тирада больно уж похожа на монолог любителя серебряной пули.

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

Я хотел уговорить начать с C,но ... не удалось.

И хорошо, что не удалось. В качестве _первого_ ЯП C действительно не лучший выбор, я гарантирую это.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от grem

В 5.5 IDE была попроще, как в ранних Turbo C, Turbo Basic, без подсветки синтаксиса, но вполне годная.
Из фишек языка еще нет Break, Continue, High, Low, открытых массивов. Из библиотек — еще нет Turbo Vision.
Отдают весь комплект поставки Turbo Pascal 5.5.

Там же на тех же условиях есть Turbo Pascal 3.02, 1.0, Turbo C 2.01, Turbo C++ 1.01: http://edn.embarcadero.com/museum/antiquesoftware

Все это отменно работает в DosBox :^)

bormant ★★★★★
()

Учить Delphi (Фаронов). Пописать на Embarcadero Studio, а потом на C. Я читал форумы и вроде Delphi еще нужен в ВУЗах.

Много тебе это не даст. Если будет нужен в ВУЗе — там и выучишь на необходимом для прохождения курса уровне. Если хорошо выучил паскаль, лучше сконцентрируйся на распространённых алгоритмах и структурах данных, порешай олимпиадные задачи. Могу порекомендовать hackerrank — начинай с простых. Сильно в это влезать не надо, но до какого-то уровня полезно.

Учить C ANSI по учебнику Ритчи. И дальше в программирование на GNU/Linux.

Это неплохой вариант.

Выучить C, перейти на C++, а там куда глаза глядят. Но я боюсь, что C++ не осилю (чтобы писать грамотный код) без наставника.

C++ учить без необходимости не стоит. Это слишком сложный язык и он слишком редко применяется, чтобы это имело смысл. Только если ты решил стать C++-разработчиком. После C, имхо, неплохо посмотреть в сторону Python или Java.

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

Просто надо разделять две стороны изучения языка. Во-первых есть практическая применимость языка, т.е. кто на нём сегодня пишет программы. И у паскала и у дельфи эта применимость есть, конечно, но в сравнение с той же Java она в пределах погрешности. Но тебя это сейчас не должно волновать. А должно волновать тебя то, что полезного ты сможешь вынести из изучения языка. Паскаль (виртовский) это шикарный первый язык программирования. C не несёт много интересных концепций, но он очень простой, очень распространённый, множество языков в той или иной степени имитирует его синтаксис, поэтому его стоит выучить. И тд.

Дельфи это хороший язык, но он достаточно сложный и очень редко применяется. Поэтому лучше выучить ту же Java.

А вообще после паскаля и до С стоит выучить язык ассемблера для какой-нибудь архитектуры. Для i386 или x64 не стоит, там слишком много всего, а вот для 8086 вполне можно, он достаточно маленький. Это даст тебе некоторое практическое представление о том, как работает процессор, это очень полезно.

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

Если писать на ограниченном c++ можно добится отсутствия линковки libstdc++, с symbol mangling думаю тоже можно что-то сделать. Короче, C не нужен и в ядре.

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

Зато придётся кастовать указатели в void* и обратно, постоянно передавать компилятору -Wno-write-strings, повысится время компиляции. Зачем они там нужны, кресты-то твои?

anonymous
()

Мне объяснили

Тебе объяснили те, кто умеет писать, но не учить, это раз. А два — они в душе не [censored], сколько из тех, что штурмовали профессию «в лоб» aka C/C++, реально стали специалистами, а не говнокодерами-неудачниками. Паскаль хорош тем, что не нагружает тебя сразу сотнями концепций и странных поведений по твоим ошибкам. Он имеет хорошую структуру и читаемость, не обременен костылями легаси, а его старший брат Delphi даст тебе основы реального (as in IRL) программирования, по крайней мере ты получишь введение во многие вещи простым путем: гуи, бд, сеть, .

Потом ты сможешь вложить совсем немного и прочитав пару книжек начать писать на C/C++, если они тебе так уперлись (хотя весь бизнес-софт пишется на яве или динамике). Если ты переживаешь, что у тебя много времени уйдет на переучивание, то само обучение-как-концепция — не твое, и нефиг тебе делать в этой сфере. Потому что инфу придется поглощать в гигантских объемах, и знание сишки/крестов и их стандартных библиотек это лишь первый шаг.

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

Если писать на ограниченном c++ можно добится отсутствия линковки libstdc++

Я в курсе. В своём экспериментальном болженосе я так и сделал: взял за основу исходники gOWNOS, разрешил минимальный рантайм C++ без стандартной библиотеки и поверх того, что выводилось у автора, сделал хеллоуворлд на классах, убедился, что объекты создаются. Далее я понял, что для написания чего-то реально полезного свой memory manager (и не только его) всё равно писать придётся, и меня задушила лень. Возможно, когда-нибудь ещё вернусь к этому вопросу.

Вот только C++ без стандартной библиотеки уже больше похож на C, ну разве что классы и ещё кое-какие плюшки из коробки. Строки без std всё равно придётся делать либо на char*, либо на каком-то велосипеде.

Короче, C не нужен и в ядре.

Проверить это можно только экспериментальным образом - если появится опенсорсное ядро на C++, поверх которого работают какие-то прикладные задачи. Особенно realtime.

Короче, где-то в глубине души я подозреваю, что ты, скорее всего, прав, но пока что практических доказательств нет.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от anonymous

Зато придётся кастовать указатели в void* и обратно

Вот в этом я не уверен. Думаю, если грамотно спроектировать иерархию классов, void* там очень мало где понадобится.

hobbit ★★★★★
()

k&r 1 edition)79eng 1985ru остерегайся анси контрафакта!

  • Great books
    - Wirth, Systematic Programming
    - Wirth, Algorithms + Data Structures = Programs
    - Dijkstra, Discipline of Programming
    - Dijkstra, EWD
    - Dahl, Dijkstra, Hoare, On Structured Programming
    - Knuth, The Art of Computer Programming
    
    from https://github.com/psoberoi/stepanov-conversations-course/blob/master/notes/l... - как видишь для первых 2ух книг стоит чутка паскаль понимать , ну а для последней асм какой нить например тот же C(k&r)
  • https://psoberoi.github.io/stepanov-civilization/canon.html#programming :

    Knuth(TAoCP)

    Tarjan: Data Structures and Network Algorithms

    (pseudocode like Algol/Pascal)

    Hennessy and Patterson: Computer Architecture

    Computer Organization and Design (introductory textbook)

    Computer Architecture, A Quantitative Approach (graduate textbook)

    last 2 is acm...

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

Проверить это можно только экспериментальным образом - если появится опенсорсное ядро на C++, поверх которого работают какие-то прикладные задачи.

Haiku же.

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

Так как эта какаха мамонта еще и платная, причем ценник конский...

https://allsoft.ru/software/vendors/embarcadero/borland-turbo-pascal/ нищеброд или жадный ребенок? (Впрочем уже сказали :)) Алсо на пике продаж в Омериге он стоил $49,9 — хоть бы в википедии погуглил, прежде чем 4.2 пороть.

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

В паскале этих проблем нет - там модульность работает из коробки. (В паскале, конечно же, есть другие проблемы, которых нет в крестах, но они более явного характера, т.е. менее коварны).

В том числе неправильное использование модулей в целях явно запрещенных описанием языка :)

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

Причем тут твоя педевикия и то сколько он стоил в твоей омерике?

Еще раз для тупых - чтоб использовать легально TP в школе для преподавания необходимо более 5 тыс. рэ на каждый компьютер.

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

Анонимус невнимательный:Я пишу на Lazarus,основанный на Free Pascal,а FP-компилятор, который поддерживает TP.

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

Как же я сейчас проблевался.

Расскажи мне про другой компилятор Delphi,который имеет полную совместимость,в отличии от ЛазаРус.

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

раз в пару лет кнопки на форму накидать, то почему бы и нет?

для этого есть рад студия, билдер на с\с++

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

Еще раз для тупых - чтоб использовать легально TP в школе для преподавания необходимо более 5 тыс. рэ на каждый компьютер.

Зачем нужен TP в школе? К нему нужна и винда лицензионная. Кроме того, я, конечно, хз, какая программа нынче в школе, но неужели так нужно, чтобы было winapi? Алгоритмы и информатику можно изучать и без TP (winapi — неважно в чем обличье, Delphi, VB.net, etc). Да и объемы-то... 1-2 урока в неделю.

ИМХО, fpc/lazaurus на linux должно хватит с головой и еще останется пласт на доп. занятия, уровня универа.

gh0stwizard ★★★★★
()

Выучить C, перейти на C++,

Это разные языки. Совсем.

Напиши в контору, в которую хочешь пойти работать, и спроси, на чем они пишут сейчас и что им нужно.

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

Зачем нужен TP в школе?

Это ты у slackwarrior и топикстартера спроси :)

Один транслирует какие-то бредни из педевикии, а другой его «изучает» :)))

К нему нужна и винда лицензионная

Конечно. Хотя особо упоротые его в досбоксе запускают :)

Проблема не в самом ТР (он мертв более 20 лет), а в том что эта древность прописалась в школах.

ИМХО, fpc/lazaurus на linux

Нет :) В том то и дело. Изучают же не паскаль, а именно TP :)))

Учителя приводят бездумно примеры из книжек по ТР - и для этого вновь продаются книжки с примерами к ТР для школьников. Так как малая часть примеров из книжек по ТР в лоб не работают в том-же fpc, а учителя не могут адаптировать эти три примера... Ну ты понял... Будущие нашего IT готовят :)


Кстати, я же не зря привел ссылку на ценник.

Берем 10 компьютеров в классе информатики. Сумма более 50 тыс. А это уже по 146 ук рф - крупный размер с лишением свободы ;) Из-за гогна мамонта на 2 года :))

anonymous
()

В школе нужно HtDP вместе со схемой преподавать. Остальное ненужно.

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

Импосибле, ты прав:

Фаронов В.В. 
TURBO PASCAL 7. 0. УЧЕБНЫЙ КУРС   
ISBN: 978-5-406-04792-7
368 страниц 
август 2015
Умом Россию не понять..

gh0stwizard ★★★★★
()
Ответ на: комментарий от darkenshvein

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

желательно какой-нибудь абстрактный, скажем, Кнут-овский, да?

bormant ★★★★★
()

Сначала выучи иностранный язык и дискретку с алгеброй.

LongLiveUbuntu ★★★★★
()
Ответ на: C/C++/C# от gh0stwizard

Не ссы. Пойдешь джуном работать, там и научишься.

Смотря где.

Не ходите работать в государственные конторы, пацаны.

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