Программирование

Ответить в тред Ответить в тред
Check this out!
Сап Двач. Давно хотел заняться программированием, Аноним 07/04/21 Срд 22:08:11 19893561
image.png 85Кб, 628x722
628x722
Сап Двач. Давно хотел заняться программированием, но в силу своей невежественности в этой сфере деятельности, не знаю с чего начать. Какие языки программирования учить, что читать, что смотреть? Буду благодарен
Аноним 07/04/21 Срд 22:20:25 19893692
>>1989356 (OP)
Все не надо, на работе будешь юзать 1-3.
Обычно все начинают учить любой популярный язык по книгам/курсам, а затем, когда понимают что к чему, доучивают или пересаживаются на другой (переучиваться несложно). Можешь определиться со сферой и выбирать соответствующий язык: мобилки (java/kotlin, swift), системщина (C++), фронтенд (JS), мелкий бекенд (Python, PHP), крупный бекенд (Java, C#), датасаенс (Python, C++).
И да, задрачивать матан для программирования не нужно, если это не датасаенс, хватит школьной арифметики. Нужно делать упор на алгоритмы/структуры данных, задачи, свои мини-проекты, в программировании всё решает практика.
Аноним 08/04/21 Чтв 13:21:22 19898903
>>1989356 (OP)
Буду исходить, что у тебя есть много времени и желание учится.
Вот тебе программа для изучения годика на 3 (это наверное минимум). Так-то все 6, а то и более.

1. Изучи для начала самый простой язык - BASIC.
В стародавние времена, для DOS была такая штука - QBasic.
Вот её раздобудь, и начни там практиковаться.
Купи книжечку.
Изучи простейшие основы программирования - что такое операторы, условия, циклы, массивы, типы данных,

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

Это самое-самое начало.

2. Делаем развитие. Вместо игрушечного BASIC, тебе уже нужны языки помощнее. Есть разные. Можно Pascal, C, C+

+, Java, C#, Python, PHP, Perl

Там уже будут новые возможности. Например, в C есть структуры и указатели, что нет в BASIC. А в C++, Java, C#

и частично в Python есть средства объектно-ориентированного программирования. Ещё в C++ есть средства

обобщённого программирования: шаблоны. Такие вещи, вроде и в C# есть.
Python и PHP - сильно отличаются от тех же C++ и C#. В них динамическая типизация.

Тут ещё надо бы почитать архитектуру компьютера. Таненбаума, например. Узнай про адресное пространство,

архитектуру и систему команд процессора, и т.п. Ещё про операционные системы почитай.
Там, про ОС, можешь познакомиться с программированием shell скриптов. Например, под bash под Unix.
Или батников под Windows. Это тоже программрование.
Ознакомься с регулярными выражениями.

Ещё почитай про продвинутые алгоритмы и структуры данных. Динамическое программирование, алгоритмы на графах,

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

Почитай про кодировки текста. Про Unicode почитай.

3. Экстра. Познакомься с ассемблером, разными архитектурами компов: x86, ARM, MIPS, SPARC, Z80
Попробуй написать в нём свой код. Например для DOS можешь поиграться с перехватом прерываний, или там
написать свой загрузчик в MBR.
Ещё, можешь познакомиться с микроконтроллерами.

Ещё, попробуй поизучать функциональное программирование. Удивишься, как всё там по-другому. LISP, Haskell.

4. Смежные вещи. Ради интереса, можешь копнуть в разработку цифровых схем. Там ты поймёшь, почему ассемблер

устроен именно так, как есть. Все эти триггеры, счетчики, CPU, VHDL, Verilog. Устройства всяких сумматоров,

как аппаратно реализуются, например, алгоритмы деления. Или операции с плавающей запятой.

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

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

прорва. Всего не изучить и не перечесть. Программисты давно разделились на специализации. И одни мало смыслят

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

Что тут может быть? Ну например следующее. Компьютерные сети, низкоуровневое и системное программирование

(драйвера и операционные системы), базы данных, компьютерная графика 2D и 3D, machine learning, геймдев (в

т.ч. скажем, физические движки или взаимодействие по сети), web-программирование (сайты под PHP или

JavaScript), создание desktop-приложений (тот же WinAPI, программирование GUI), алгоритмы сжатия данных

(всякие там RLE, Lempel-Ziv, PPM. сжатие того же JPEG), поисковые системы, разработка компиляторов.
И да, я же говорил что может потребоваться второе высшее образование. Например, та же математика.
Без неё, хрен ты поймешь JPEG (т.к. там используется некое дискретное косинусоидальное преобразование. так

просто ты его не вкуришь). Математика и в machine learning используется, и в 3D графике (но тут не так

сложно). А есть же и предметы чисто военных областей, типа распознавание целей по радарным откликам.

Фильтрация всех этих сраных сигналов, выяснение что же на самом деле мы видим.
Аноним 09/04/21 Птн 05:27:19 19908024
>>1989356 (OP)
Столярова читай, Введение в профессию, все 4 тома.
09/04/21 Птн 14:46:28 19910815
>хотел заняться
>не знаю с чего начать

Брысь!


>>1989369
>>1989890
Не подкармливайте, он всё равно нихуя не будет делать

Аноним 09/04/21 Птн 20:49:53 19913716
osel-iz-shreka3[...].png 75Кб, 240x240
240x240
>>1989369
>переучиваться несложно
Первый язык 1С
Аноним 09/04/21 Птн 22:03:27 19914117
>>1990802
Можно ли посоветовать что-то более ненужное, чем 4 тома Столярова?
Аноним 09/04/21 Птн 22:25:01 19914278
Аноним 09/04/21 Птн 22:25:33 19914289
>>1991427
>интергратор
интегратор
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов