A A A A Автор Тема: Какой язык программирования учить  (Прочитано 22542 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн Вантуз

  • ****
  • Сообщений: 302
  • Благодарностей: 7
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #560 : Вчера в 14:57:26 »
Правда, следующее поколение бездарей, убитое дипсиками и чатгопотой, будет еще хуже!
Еще раньше Skynet^WПериметр убьет ффсех людей. Profit!

Онлайн yacc

  • *****
  • Сообщений: 735
  • Благодарностей: 15
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #561 : Вчера в 15:26:40 »
Кстати, чтобы дать полезный ответ на "какой езыг учить и для чего?" надо такой бутстрап пройти хотя бы на уровне мурзилок типа "в машкодах пишем asm
Пусть тогда еще  с платами диодно-транзисторной логики именно на транзисторах  и диодах повозится и кучей проводов на стойке. :)
Ну и самому обмотки  на ферритовые колечки.

Оффлайн Вантуз

  • ****
  • Сообщений: 302
  • Благодарностей: 7
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #562 : Вчера в 15:55:09 »
Мне нравится ход ваших мыслей (с)

Железо -- это в школе в радиокружке. А бутстрап софта -- на 1-2 курсе во "введении в computer science". Можно MIT-овские курсы из 90-х посмотреть.


Онлайн yacc

  • *****
  • Сообщений: 735
  • Благодарностей: 15
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #563 : Вчера в 15:58:17 »
vi пусть сам себе напишет
Сначала пусть сам спаяет компьютер и монитор :)

Онлайн yacc

  • *****
  • Сообщений: 735
  • Благодарностей: 15
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #564 : Вчера в 20:59:16 »
Можно MIT-овские курсы из 90-х посмотреть.
В обязательном порядке сдать SICP !
( к слову я его сейчас неторопливо прохожу, но это не для Сишников - те выругаются и плюнут, Дельфийцы - тоже  )
« Последнее редактирование: Вчера в 21:06:08 от yacc »

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 611
  • Благодарностей: 543
  • MPC:M12 🔭CG5GT C8/MK127/SW80ED… 📷6D/SV605СC/705…
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
Re: Какой язык программирования учить
« Ответ #565 : Вчера в 23:01:41 »
Не будучи программистом по профессии, (первое образование - астроном), всегда воспринимал языки программирования, как и языки вообще, как средство или инструмент для эффективного решения конкретных задач - коммуникации с целью максимально быстро получить требуемый результат. Желательно, чтобы инструмент был не одноразовым, существенно ускорял и облегчал процесс, ну и был как ложка к обеду - оптимальным к месту и ко времени. 
Если вдруг инструмент становится самоцелью или даже фетишем, значит что-то пошло не так. Это как хвалиться умением только топором без гвоздей делать все - от стула до коттеджа. 
ИМХО, если в начале пути освоен один алгоритмический язык, ООП и функциональное программирование - дальше уже не важно, какими будут инструменты - ОС, языки программирования, IDE.
Главное, чтобы поставленные задачи с ними решались эффективно с учетом кривой обучения в срок и результат удовлетворял требованиям (понимая что лучшее враг хорошего), а сам инструмент был широкого профиля и регулярного применения, а не разовый для узких задач...
И большинству знать ассемблер, как устроено ядро ОС и как работает сеть на низком уровне не обязательно. Это должны знать профессиональные программисты, точнее системные программисты, коих не так много.
ИМХО, для меня выбор языка программирования - это выбор удобного и простого в освоении/использовании инструмента для быстрого достижения самого эффективного пути получения результата, желательно общепринятого и с наработками по теме, чтобы не городить самому велосипед.

К примеру, предприниматель, знающий хотя бы один скриптовый язык, уже сильно сэкономит на начальном пути, автоматизируя с ним некоторые рутинные задачи. В свое время брокеры, освоившие скрипты, стали миллионерами...
Предприниматель и офисный работник, изучивший VBA, уже будет полезнее и эффективнее своих коллег. (Кстати, с VBA тоже пришлось сталкиваться, считаю - для своих задач нужный инструмент, а мой коллега в свое время написал на VBA бухгалтерию, когда еще 1С в помине не было)...
Сисадмин со знаниями Perl/Python или PowerShell всегда эффективнее коллег, знающих только BASH/CMD.
Вебдизайнер, помимо HTML5/CSS освоивший JS, Python + Django/Flask, или PHP уже переходит в разряд веб-разработчиков...

В начале 90-х нам в ВУЗе давали Fortran для расчетов, Pascal для большинства рутинных задач и пришлось самому знакомиться с Ассемблером, чтобы вставлять его в Pascal для взаимодействия с оборудованием (ПЗС-матрица, подключенная к ПК через крейт КАМАК). Для написания курсовых/дипломных давали прообраз гипертекста LaTex, ибо не было других вариантов. Основной ОС была MS DOS 6.X. Кое-где были Posix-совместимые ОС (там Fortran и Focal). Задачи этим инструментарием решались вовремя, с учетом, что для написания любого кода, ввода его в ПК и проверки студентам давалось 2 часа машинного времени в неделю.

Сейчас инструментарий на любой вкус, под любую ОС (чаще даже кроссплатформенный), с гигантским выбором уже готовых библиотек под решение любых задач и с думающим за вас редактором-генератором кода, автодополнениями и другими "помощниками". И нет проблем как с компьютерным временем, так и с компьютерными мощностями. Остается только выбрать, что быстрее освоить и что эффективнее поможет решить конкретную задачу, причем достаточно только погуглить и ответ уже будет получен, как и почти весь нужный код... И почти все языки бесплатны, тогда как в 90-е их приходилось покупать... Сейчас и книг по программированию бесчисленное множество, в том числе, бесплатных онлайн-курсов, видео-курсов...

Так получилось, что на жизненном пути мне довелось самостоятельно осваивать в свое время Perl для создания своих CMS (за неимением аналогов для создания динамических вебпроектов), когда еще не было в помине всяких Bitrix и Wordpress, а за ним PHP (причем мои веб-разработки на Perl до сих пор работают и приносят деньги, причем работают существенно быстрее PHP). При этом понадобился SQL для внедрения в разработки баз данных, а затем JS и его фреймворки для реализации динамики на клиентской стороне.

Через десятилетия возникла необходимость в Python , хотя мне не нравится его стиль написания с отступами без обозначений конца выражений. Но так уж вышло, для в Python сейчас написаны масса библиотек (где нужна скорость, на С), для решения конкретных задач, от анализа данных и машинного обучения до автоматизации рутинных операций, вебскрапинга и веб-разработки. Все это тоже инструменты, а Python - их некий агрегатор. Я слышал, что ядро Google было изначально написано на Python. Видимо, его создатели эффективно выбрали инструментарий, ибо теперь миллиардеры.
А вообще, я учил Python из-за DIY, чтобы заинтересовать ребенка азами программирования на Raspberry Pi. Также вспоминал синтаксис С, когда нужно было в DIY добавить контроллеры на базе Arduino. Результата достиг. Ребенок учится на ИТ.
Кстати, вот моя статья для детей Raspberry Pi — собираем и настраиваем компьютер для юного кибернетика. После нее в родной гимназии появился DIY-класс c Raspberry Pi и Arduino, хотя преподаватели изначально не хотели связываться с Linux и новыми для них языками, отличными от Basic/Pascal... 

Все это я к том, что на самом деле вопрос "Какой язык программирования учить" не имеет однозначного ответа. Выбор языка, а также других инструментов на базе него случится в зависимости от задач и поставленных условий, как если бы вам суждено было попасть в какую-то страну и учить ее язык. И скорее всего, в течение жизни их будет не один, если судьба забросит... Но иногда оказывается проще, быстрее и эффективнее нанять переводчика...
Учить много языков ради того чтобы просто их знать "про запас" - так себе идея. Без регулярной практики они становятся пассивными и потом забываются...
Это как учить языки ради полиглотства, не имея возможности практиковаться в них с носителями и на родине языка. Я в свое время увлекался и этим, но понял, что кроме английского как основного в ИТ и науке/бизнесе сейчас, остальные мне не особенно и нужны. Испанский учил когда осваивал танго, ибо все видео от маэстрос были на нем.
Вообще, понял, что освоив один язык другие учить существенно проще, так как структура и методы становятся уже понятнее, а также много общих слов...

Нужно ли учить языки системного программирования, а не только прикладного? Наверное нужно в свое время и при необходимости (как минимум, студента ВУЗа), хотя вряд ли в детстве это будет увлекательным занятием. Поэтому и был наверное придуман Python, я молчу про Scratch, который видимо тоже к месту в раннем детском возрасте.
Что касается вопроса, какие сейчас прикладные и системные языки лидируют, наверное легко узнать у Google.
Если посмотреть внимательнее к ответу ниже, то среди универсальных языков (и системного и прикладного программирования) лидируют два - C++ и Go.
« Последнее редактирование: Сегодня в 00:04:45 от Ed_Vazhorov »


Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 611
  • Благодарностей: 543
  • MPC:M12 🔭CG5GT C8/MK127/SW80ED… 📷6D/SV605СC/705…
    • Skype - Ed_Vazhorov
    • DeepSkyHosting: vazhorov
    • Сообщения от Ed_Vazhorov
    • Группа "Астрономия XXI"
Re: Какой язык программирования учить
« Ответ #566 : Вчера в 23:11:09 »
Вот что по этому поводу думает Google и его "Обзор ИИ":

Языки прикладного программирования:

Языки прикладного программирования предназначены для создания программного обеспечения, решающего конкретные задачи пользователей: веб-приложения, мобильные приложения, игры, базы данных и ИИ. К самым востребованным относятся Python, JavaScript, Java, C#, PHP, Swift и Kotlin. Они обеспечивают высокую производительность разработчиков и удобство работы с данными.

Основные языки по областям применения:
Веб-разработка (Frontend/Backend): JavaScript (React, Angular), TypeScript, Python, PHP, Ruby.
Мобильная разработка: Swift (iOS), Kotlin (Android), Dart (Flutter).
Data Science и ИИ: Python (лидер отрасли), R.
Разработка игр (GameDev): C++, C# (Unity).
Корпоративное ПО (Enterprise): Java, C#.

Популярные языки прикладного программирования:
Python: Универсальный, простой, используется в ИИ, анализе данных и веб-разработке.
JavaScript: Основной язык веб-интерфейсов.
Java: Стабильный, используется в крупных корпоративных системах.
C#: Основной язык для экосистемы Microsoft и игр.
Go (Golang): Эффективен для высоконагруженных серверных приложений.

При выборе языка стоит учитывать направление: для быстрой разработки сайтов лучше подходит Python или PHP, а для высокопроизводительных приложений — C++ или Rust.

Языки системного программирования:

Системное программирование ориентировано на создание операционных систем, драйверов, компиляторов и высокопроизводительного ПО. Основными языками являются C (основа ОС), C++ (высокая производительность), Rust (безопасность памяти) и Assembly (низкоуровневые задачи). Современные альтернативы включают Go, Zig и Nim.

Ключевые языки системного программирования:
C: Язык номер один для написания ядер ОС (Linux, Windows) и драйверов.
C++: Используется для создания сложных системных компонентов, требующих высокой производительности, объектно-ориентированного подхода.
Rust: Современный язык, обеспечивающий безопасность работы с памятью без сборщика мусора, активно внедряется в системные компоненты.
Ассемблер (NASM, FASM, GAS): Используется для написания критически важных участков кода (загрузчики, инициализация оборудования).
Go (Golang): Применяется в системном программировании благодаря эффективности, простоте и возможностям конкурентности (работа с сокетами, системные утилиты).
Zig/Nim: Новые языки, ориентированные на высокую производительность и удобство написания низкоуровневого кода.

Области применения:
Разработка операционных систем и их компонентов.
Написание драйверов устройств.
Создание компиляторов и виртуальных машин.
Разработка встраиваемых систем (Embedded systems).
Создание высоконагруженных сетевых приложений и серверов.
« Последнее редактирование: Вчера в 23:27:57 от Ed_Vazhorov »

Онлайн Ph_user

  • *****
  • Сообщений: 3 653
  • Благодарностей: 100
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #567 : Вчера в 23:24:55 »
предприниматель, знающий хотя бы один скриптовый язык, уже сильно сэкономит на начальном пути

Ему надо учить програмирование годных в работу животинок. Капиталист по смыслу живет на заборе прибавочных продуктов из работы рабочих животинок вместо убавки своих расходов из доходов на миску баланды.

Онлайн yacc

  • *****
  • Сообщений: 735
  • Благодарностей: 15
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #568 : Вчера в 23:35:04 »
Учить много языков ради того чтобы просто их знать - так себе идея.
Это контрпродуктивно. Учить надо не тупо разные языки, а теорию компиляции. По синтаксису и семантике есть всего несколько групп массовых языков -
- алгоритмические с инфиксными операторами и их расширение - ООП, которое фактически делает часть работы за программиста, сокращая ему код - самые массовые
- декларативные ( типа SQL ) код явно сам алгоритм не описывает  ( вторые  по массовости )
- функциональные типа Лиспа с префиксной системой
- близкие к машинному коду ( с широким использованием goto ) - макроассемблер и первый фортран

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

Переход от одного языка ООП к другому, как пример, при понимании синтаксиса и семантики и как работает компилятор, делается с малыми усилиями, особенно если задача не требует знания тонкостей ( как например сборки мусора или управления памятью ) или наворотов ( типа такого понятия как рефлексия ).
« Последнее редактирование: Вчера в 23:49:57 от yacc »

Оффлайн Вантуз

  • ****
  • Сообщений: 302
  • Благодарностей: 7
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #569 : Сегодня в 08:25:20 »
В обязательном порядке сдать SICP !
( к слову я его сейчас неторопливо прохожу, но это не для Сишников - те выругаются и плюнут, Дельфийцы - тоже  )
SICP вообще не про конкретный язык // "Any sophisticated C program contains an implementation of a subset of LISP"  (c) по памяти.

Онлайн yacc

  • *****
  • Сообщений: 735
  • Благодарностей: 15
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #570 : Сегодня в 09:53:57 »
SICP вообще не про конкретный язык // "Any sophisticated C program contains an implementation of a subset of LISP"  (c) по памяти.
Не совсем так, даже совсем не так :)
Это цитата из Филипа Гринспена, который закончил MIT.
Но составители курса SICP - другие: Харольд Абельсон,Джеральд Джей Сассман при участии Джули Сассман.
И там именно Лисп, точнее его диалект Scheme. В начале вводятся функции и буквально начинаются писаться программы. И говорится как это круто - проще чем на всяких языках типа Паскаля или С - не надо вводить никакие типы данных.
И там же формулируется что циклы - это синтаксический сахар - итеративный процесс можно описать не вылезая за рамки вызовов функций, при наличии реализации хвостовой рекурсии.