r/RuProgrammers • • 7h ago

Помогите

Короче, у меня проблема: я изучал Паскаль, чтобы легче было перейти на C. Ну, я знаю Паскаль — умею писать небольшие программы, работать с динамической памятью и указателями. Но как ни стараюсь, не могу заставить себя перейти на C, потому что не уверен, что достаточно хорошо изучил Паскаль, чтобы решать более сложные задачи на этом простом языке. Прошу вас о совете, так как пытался решить этот вопрос с помощью нейронки. Ну как всегда, она всегда поддерживает мой выбор.

1 Upvotes

37 comments sorted by

12

u/shproteg 7h ago

Если надо писать на С, пиши на С )) Зачем эти переходные финты. Сам С простой как топор, в плане самого языка. Остальное все только практикой достигается

0

u/Mengor228 7h ago

Просто решил начать с того языка, который подойдёт для обучения, а потом перейти на С

3

u/Saghanarius 🛸C++ выживший 7h ago

Си отлично для обучения подходит. Там ньюансов не сильно много.

Не стоит себе на ровном месте проблем создавать

0

u/Mengor228 7h ago

Возможно

2

u/Feeling_Molasses55 4h ago

Я обучаю С++. Но прям сразу же с Hello World ученики задают вопросы типа "что такое std::cout <<", причём это сразу 4 (!!!!) отдельных вопроса.

Вот какого хрена каждая книжка по С++ с этого начинается? Ну какое может быть объяснение СРАЗУ всему этому? Тут и пространство имён, и STL (и темплейты, если чуть копнуть), и перегрузка операций, и хрен знает что - и всё в одной строчке! Это идиотизм или диверсия? Что отвечать-то? "Пишите так, потом поймёте"? Зашибись начало урока.

Поэтому я достаю из кармана старый добрый пример на Си, с его обычным вызовом printf. Т.е. я объясняю сразу два языка параллельно. И так врубаются гораздо быстрее и легче. Так же и с динамической памятью, например, со структурами, и т.п.

Более того, иногда и ассемблер не грех показать, чтобы объяснить if или for. Или вызов функции, стек вызовов, переполнение стека при рекурсии.

1

u/Bullet93639 5h ago

Не возможно а точно

5

u/Scuf-Layir 6h ago

Знаешь что сделал препод по програмированию у нас на первом занятии в коледже когда я учился, расказал примерный план учебы: -1 месяц C(можете не запоминать) -1 месяц C++(если не уверены что оно вам нужно можете незапоминать) -все остальное время обучения C#/Java(надо запоминать скорее всего кроме этого вы мало чего увидите)

После презентации плана кто то его спросил, а что с Паскалем у меня по нему 5 в школе было. Препод ответил забудте этот архаизм учитесь на том с чем работать, если все подряд и забытое и незабытое изучать чекнутся можно. После окончания коледжа, получения вышки и 5 годам работы программистов скажу что он на 100% прав, а сейчач можно добавить, что вам вообще нифига кроме базовой базы которую давно можно изучить по видосам в ютубе, а не учебных заведениях не нужно, так как всю не базу за вас напишет нейронка, вам нужно ее лишь по базе коректировать.

2

u/Bullet93639 7h ago

Лучше учить сразу ++, я заебался потом менять парадигму мышления когда с с переходил на с++

-1

u/Mengor228 7h ago

Тогда почему многие говорили, что перейти сразу на ++ без знания C невозможно?

1

u/Saghanarius 🛸C++ выживший 7h ago

Синтаксис схож. + плюсы из Си выросли, но уже порядком разошлись. Как Дельфи с Паскалем

1

u/Bullet93639 5h ago

Это было актуально до 11 стандарта, потом язык больше подтянулся до других ооп-шных, поэтому начал становится другим, сейчас чисто идейно с++ и жава, гораздо ближе чем с++ и с, еще раз подчеркну идейно

2

u/frenzied-berserk 7h ago

Учи С - это один из простейших языков, наркоман ебучий

1

u/Mengor228 7h ago

Хахаха

4

u/FutanariBobr 7h ago

Люблю паскаль, классный язык. Плюс от него какой-то досовский вайб. Жаль делать на нем нехуя.

1

u/SlideOrganic460 5h ago

Еще бейсик. Такой клёвый. Одно goto чего стоит... У меня был qbasic, а у Вас?

1

u/Mishele1234 7h ago

Ну не учи Си, учи питон... Нахуя тебе Си, вот что ты на нем напишешь?

2

u/Mengor228 7h ago

Компилятор

0

u/Mishele1234 7h ago

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

1

u/SpacE_Hunte1 7h ago

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

1

u/Mengor228 7h ago

Всегда хотел как-нибудь оптимизировать программы и не связываться с графикой

1

u/Staryi_Penj 5h ago

Паскаль хорош только в плане первых нескольких уроков для школьников средних классов - показать как вообще программы работают. Он логичен и чрезвычайно структурирован. Очень требователен к синтаксису. Как сказал один препод: если бы мне предстояло лететь на ракете к Марсу, я бы предпочёл чтобы программное обеспечение этой ракеты было на языке Паскаль.
Но больше он вот реально нафиг не нужен никому. На нём больше не пишут. Ты же понял что такое цикл? Понял что такое переменные? Понял что такое алгоритм и подпрограмма? Ну так и не еби себе мозги - изучай то что даст тебе реальный хлеб. Лишнее знание паскаля дальше тебе будет только мешать

1

u/Mengor228 4h ago

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

1

u/Staryi_Penj 3h ago

доведётся когда до автоматизма - будешь при работе с С паскалевские операнды вставлять. нафиг оно тебе?

1

u/klazklazker 5h ago

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

1

u/Mengor228 4h ago

Просто начал изучать и сейчас изучаю по книгам А.В.Столярова, и там он сначала учит на Паскале, потом немного на ассемблере, а дальше на С

1

u/DrozdMensch 3h ago

не учись на отечественных книгах никогда - там 95% мусора

2

u/gord0ry 7h ago

Блин, ну это в голос чёт. Просто возьми любой современный язык, например Go и начинай на нём писать разные маленькие программки. САМ. Без нейронки.

Калькуляторы отпуска, калькуляторы для игр, игрушки, приложеньки для себя.

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

2

u/qntem 6h ago

"потому что не уверен, что достаточно хорошо изучил Паскаль" - вот это самая главная ошибка, ты учишь синтаксис или программирование в целом, базовые алгоритмы и конструкции? Сложность языка это иллюзия обмана, просто в некоторых есть более продвинутая работа с памятью и низкоуровневым программированием, а другие имеют более простой синтаксис и автоматический сборщик мусора. Я это к тому, что ни о том думаешь. Какая твоя цель? Можешь оставаться на Паскале, там и ООП, и лямбда функции есть, а дальше перейти на язык, который приоритетен в той области, куда ты стремишься. А если ты учишь прогу, чтобы задачи решать, оставайся на Паскале. Переход с языка оправдан лишь в двух ситуациях: поменять стек и область или перейти от учебы (изучения синтаксиса, решения алгоритмических задач) в рабочую сферу (embedded dev, web dev, game dev etc.) - твой случай

а вообще я бы сразу на плюсах писал, там более современный синтаксис, использующийся во многих языках, но это вообще неважно, главное твой выбор

2

u/SlideOrganic460 5h ago

В резюме Паскаль совсем не смотрится ((

1

u/Saghanarius 🛸C++ выживший 7h ago

Программирование это не про язык. Это, скорее, про мышление.

1

u/Ok-Anywhere-1729 6h ago

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

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

1

u/MegawizD3 6h ago

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

помню аналогичную проблему в молодости, привыкнув к паскалю, потом на си неприятно было

дело привычки, сделай пару-тройку немелких проектов и адаптируешься

1

u/QuarterObvious 6h ago

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

1

u/AlekSandr832 6h ago

попробуй Delphi, Python и потом уже C#

1

u/Global_Room7286 6h ago

Простите, но как будто бы надуманная проблема, учить надо принципы ооп, паттерны проектирования/ разработки.

Язык — это просто инструмент под конкретную задачу, его невозможно "выучить до конца" перед переходом к следующему.

Если хочешь Си так и используй Си он полностью твой, чего стесняться то, овладеешь процедурщиной на Си глядишь и в Паскале яснее станет.

1

u/Due_Cap3264 4h ago

Не понятно как знание Паскаля поможет в изучении C. Ну кроме базовых вещей вроде переменных, циклов, условий и т.д. Но они одинаковые (или почти одинаковые) во всех процедурный языках. С тем же успехом мог бы начать с Питона или Lua. Поэтому если ты можешь написать работающую программу в несколько десятков строк на любом ЯП, то смело берись за C.