LINUX.ORG.RU

С чего начать свой путь?

 


0

4

Всех приветсвую дорогие друзья ,хотел бы спросить с чего начать новичку свой путь в программирование? Думал начинать изучать C , но многие говорят что это не для новичков , кто-то говорит что можно изучать новичкам. Чтобы вы порекомендовали какие книги или видео?

Перемещено dataman из development



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

есть такой Степанов Алек Алексович

он забавно окультивировал коллег по галере

роль образования для хлеба али для «высшего»

понятно что это не полные антитезы

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

и да привнесённая сложность инструмента обычно признак что основная маржа не вместе настолько изысканных «инвестиций»

так то основание счисление по 60 практичней «количества палцев на верхних конечностях»

имхо больше пользы от llvm чем от полного корпуса плюссов

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

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

имхо больше пользы от llvm чем от полного корпуса плюссов

Это как штопор лучше ножа.

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

не правда. ассемблер дает представление как работает компьютер.

Скорей уж такие языки описания аппаратуры как Verilog и VHDL.

https://habr.com/ru/articles/91931/

Ассемблеры не о том.

Справочники и руководства разработчиков архитектура ЭВМ должны давать сведения, с помощью которых можно сформировать представление о работе компьютеров с описываемой архитектурой достаточное, чтобы их программировать (не касаясь особенностей отдельных моделей, описанных в других документах). И для описания алгоритмов инструкций в справочниках нередко используется какая-то «высокоуровневая» неформальная или формализованная нотация.

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

anonymous
()

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

jura12 ★★
()

Думал начинать изучать C , но многие говорят что это не для новичков

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

Да, есть языки попроще, чем Си. Только не надо, ради бога, с питона и прочей скриптоты начинать, после неё потом действительно нормальные языки будут сложными казаться. Я бы предложил, следуя Столярову, начать с паскаля (fpc). Главное чётко осознавать, что одного ЯП на всю жизнь всё равно не хватит. Поэтому не надо гадать, надо садиться и учиться.

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

С Си.

Если зарабатывать хотите, то с 1С.
Но 1С-ники ходят в жёлтых трусах, мысли у них «жёлтые»…
За эти невзгоды у них из з/п неплохая.

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

А вот меня пытаются спихнуть с пути изучения сишки :) Как раз на Python и Zig в частности. Но я упрямо продолжаю изучать Си по K&R и, параллельно, git. Дошёл до пятой главы, потом летом стало не до изучения, и вот теперь возобновил процесс, начал переписывать уже изученное – а повторение, как известно, мать учения. И по ходу дела устраняю свои ошибки. Ссылку на git-репозиторий давать не буду, но если кто найдёт – прошу сильно не бить :D

А впрочем – вот он. Бейте, но не убивайте :)

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

Ссылку на git-репозиторий давать не буду,

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

А вот меня пытаются спихнуть с пути изучения сишки :)

Просто они боятся что ты их потом интеллектуально будешь уничтожать. После сишки никто не мешает взяться за другой язык, зато ты сможешь ковыряться не просто в языке, а ещё в его реализации. Тормоза в какой хрени из питона, сорцы питона открыл и поглядел, почему так. Здорово же.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

но ты очень стараешься избегать скобочек

Ну, я их не то чтобы избегаю, но хотел найти некий баланс. Писать на Си, не применяя фигурные (да и не только фигурные) скобки вообще, наверное, невозможно, но и когда они есть везде, даже там, где их не только можно, но и нужно не использовать, тоже не очень хорошо, ИМХО. За пожелания – спасибо :)

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

С прочтения первой главы (INTRODUCTION) книги Танебаума про Операционные Системы, вне зависимости от выбранного языка программирования.

Любая программа общается с внешним миром через примитивы ОС. Не важно на каком языке она написана, всё что может программа это отправлять системные вызовы к Ядру ОС.

Системные вызовы идентичны для любой программы запущенной на вашем компьютере, вне зависимости на каком языке она написана: С, C++, Pascal, Java, Kotlin, PHP, Perl, Python, Dart, Ruby, C#, Groovy, JavaScript, Scala, Swift, Object-C, Go, Zig, Assembler.

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

Что, осеннее обострение одолело, и ты вернулся на ЛОР давать свои «содержательные» советы?


Ты это все языки, на которых «hello world» написал, перечислил или что?

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

Анонимному анонимусу отвечается.

Ты это все языки, на которых «hello world» написал, перечислил или что?

Чтоб выйти за рамки «helloworld» и начать писать минимальные утилиты, не говоря уже о сложных системах, необходимо понимать модель ОС. Большинство новичков после «курса Python» - так и остаются в изолированных циклах и переменных, без всякой связи с реальностью. Без понимания как написать хоть сколько-то полезную программу.

Введение книги Таненбаума это первое, что должен прочитать самоучка. В Вузе есть роскошь сначала учить абстрактный Си, абстрактный С++ и потом, на 3ем курсе, прослушать лекции про ОС. Если человек учится сам, ему надо максимально трезво понимать что он делает.

Изучение программирования коварно. Легко заплутать: можно штудировать огромный том Бриана Страуструпа по С++ - надеясь стать прикладным программистом. А вместо утилитарных знаний изучить тонкости синтаксиса обретя «чемодан без ручки». В то время как зная 1/10 и понимаю схему ОС можно уже во всю создавать прикладные утилиты.

Первый шаг это введение Таненбаума. Дальше уже по обстоятельствам.

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

Плевать, как кто относится к C++, факт в том, что вакансий на нем много. А учить его мало кто хочет. Значит будут больше зп у тех, кто хорошо его знает.

Вот типичная «ловушка» в которую попадет новичёк, будет долбить синтаксис C++, вместо изучения ОС и Алгоритмов.

Происходит подмена понятий, которая не очевидна со стороны. Не много вакансий на С++, а много вакансий где требуется писать оптимизированный низкоуровневый код. Код который будет работать строгих в рамках по потреблению памяти и времени.

От программиста на такой вакансии прежде всего требуется умения оценивать сложность программы big-O, понимать схему работы ОС, знать Алгоритмы и Структуры Данных, понимать TCP/IP стек. И уже в самую последнюю очередь быть «спецом» в хитросплетениях С++.

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

Чтоб стать хорошим C++ программистом надо литкодить и штудировать Таненбаума. А не изучать хитрости шаблонов и множественного наследования.

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

жирный жир

клюква информатики что достаточно вкурить массивы

однако публика не может без гамака и трубки Холмса

новичкам достаточно ipython консоли и магии чутка

если поехали значит программисты - если буксанули - «мамы разные нужны мамы разные важны» и даже в ойти дефицит не программистов а остальных - врочем как и везде

ща микропроцессоры настолько дёшевы что реальные программисты нужны только в большой серии али в пико(тера) облаках - в остальном достаточно не ошибатся при 1+1

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

уж если обчитыватся

до сборникам статей классиков - ну там лекции Тьюрингов наградные

или вот тот же ща мною форсимые


 Mark Priestley, A Science of Operations: Machines, Logic, and the Invention of Programming ибо льюис гарри рой Идеи, определившие облик информатики и там деМило про социалочку посреди мучённых Социальные процессы и доказательства теорем и правильности программ (1976) Ричард ДеМилло, Ричард Липтон и Алан Перлис у Пристли вроде при упонимании Рассела и полным обоснуем в сотни нефти что 1+1=2 поясняется очёнь чётко что же такое программирование и ея отличия (по автору) от локики

обычно учебники это третичные ну в лучшем случае вторичиные источники

если это не Хенеси Патерсон али Патерсон Хенеси

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

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

достаточно массивов и «трюка нумераций»(что гёдель нумеровал для пока0покаГилбертаПрограмма; что Алан завиртуалил машину на машине для обоснуя не возможности достоверного прогноза стопе или висим)

асм это вариант исходной машины

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

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

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

необходимо понимать модель ОС

Зачем мне знать как работает ОС, если я, например, пишу систему на Erlang?

У меня есть виртуальная машина и в ее терминах я и думаю, мне не важно что и как реализовано на нижележащем уровне.

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


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

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

Ой б…… Откуда вы беретесь то… Ну где, где, едрить тебя, я писал, что алгоритмы и предметную область учить не нужно?

Чтоб стать хорошим C++ программистом надо литкодить и штудировать Таненбаума.

Это все лишь один из возможных авторов. Не самый лучший, но все же.

А не изучать хитрости шаблонов и множественного наследования.

Тут нет или-или, тут нужно знать и то и то.

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

Ну где, где, едрить тебя, я писал, что алгоритмы и предметную область учить не нужно?

Причём тут вы? Пост о когнитивных ошибках новичков, которые слышат «С++ - очень много денег» и начинают читать Страуструпа от корки до корки.

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

Дырокол и картон. Человек привыкает к аккуратности и ответственности при программировании. Я бы даже посоветовал для межзвёздных полётов в качестве носителя ПО глиняные таблички. Технологии проверенные временем и шумерами (они вроде не запрещены, шумеры?)

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

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

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

не лучше. да многие «самоучки» в тч и я. я не знаю вузов в рф где бы учили програмиировать

Смысл получения высшего образования в том, что большинство лентяи, а при учёбе в вузе им придётся открывать все эти ненавистные книги.
Это так для начала …

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

прочих фриков, учивших успешному успеху (многие из них пришли к успеху и сидят в сизо)

Ну среди физтехов алкашей тоже хватает.. Кухонные ножи не под запретом Не показатель.

anonymous
()