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

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

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

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

Оффлайн yacc

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

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

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

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


Оффлайн yacc

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

Оффлайн yacc

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

Оффлайн Ed_Vazhorov

  • Модератор
  • *****
  • Сообщений: 4 612
  • Благодарностей: 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 612
  • Благодарностей: 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 662
  • Благодарностей: 101
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #567 : Вчера в 23:24:55 »
предприниматель, знающий хотя бы один скриптовый язык, уже сильно сэкономит на начальном пути

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

Оффлайн yacc

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

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

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

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

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

Оффлайн yacc

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


Оффлайн Ph_user

  • *****
  • Сообщений: 3 662
  • Благодарностей: 101
    • Сообщения от Ph_user
Re: Какой язык программирования учить
« Ответ #571 : Сегодня в 10:06:18 »
начинаются писаться программы

Там уже великие предки думали про светлое будущее когда робописалка програм будет делать програму под поставленую задачу. К такому уже почти пришли к началу второй четверти 21 века.

Оффлайн Павел Васильев

  • *****
  • Сообщений: 1 322
  • Благодарностей: 37
    • Сообщения от Павел Васильев
Re: Какой язык программирования учить
« Ответ #572 : Сегодня в 11:44:45 »
Популярные языки прикладного программирования:
Python: Универсальный, простой, используется в ИИ, анализе данных и веб-разработке.
JavaScript: Основной язык веб-интерфейсов.
Java: Стабильный, используется в крупных корпоративных системах.
C#: Основной язык для экосистемы Microsoft и игр.
Go (Golang): Эффективен для высоконагруженных серверных приложений.
Вы, или ИИ,  перечислили много разных языков, в принципе история повторяется как со строительтвом Вавилонской башни, по Библии. Бог дал строителям всяких языков ( не ясно по каким этническим признакам?) и стройка развалилась, все пошли домой. Так и тут, был вначале практически один Фортран, потом Алгол, а потом понеслось. Изобретают заново старое кому не лень. Вы вот даже не помянули Object Pascal, а почему? Не потому ли, что Майкрософт люто ненавидит как конкурента Delphi? У него, ОР, сейчас 10е место в рейтинге, далеко впереди Go, Swift, Kotlin, перечисленных вами.

Верить пока ИИ на слово нельзя, вот цитата ИИ в гугл по эапросу о современном языке Паскаль :
• - В 1986 году на базе Pascal появился объектно-ориентированный язык программирования Delphi с собственной средой разработки.
Это враньё, в 1986 году не было никакой Delphi.

 Универсальный алгоритмический язык есть, он ближе всего к естественному языку общения и к математической нотации, и это Object Pascal.
« Последнее редактирование: Сегодня в 11:52:16 от Павел Васильев »
Астромодель нооэволюции Млечного Пути https://gitverse.ru/astrogeoscenter/astrobloq

Оффлайн yacc

  • *****
  • Сообщений: 742
  • Благодарностей: 16
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #573 : Сегодня в 12:14:01 »
К математической нотации наиболее близок Лисп - он именно из нее и вырос.
Алголоподбные и близко не стоят.

Оффлайн Karagy

  • *****
  • Сообщений: 1 956
  • Благодарностей: 64
    • Сообщения от Karagy
Re: Какой язык программирования учить
« Ответ #574 : Сегодня в 13:33:07 »
Учить надо не тупо разные языки, а теорию компиляции.
Писателю компиляторов - учить ТК надо. Прикладному программисту - ТК не потребуется.

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

  • ****
  • Сообщений: 306
  • Благодарностей: 8
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #575 : Сегодня в 14:18:37 »
SICP вообще не про конкретный язык // "Any sophisticated C program contains an implementation of a subset of LISP"  (c) по памяти.
Не совсем так, даже совсем не так :)
Первое или второе?
Цитата
... И там именно Лисп, точнее его диалект Scheme. ...
Так это наиболее естественная и компактная запись. C "как это запишется на C" при беглом просмотре проблем не возникает.

// В сишных программах при разборе выражений, работе с деревьями, списками функциональные конструкции возникают естественно, так что имеет смысл уже встраивать DSL.
Такое в чисто прикладных задачках попадалось, но про функциональный язык приходило в голову сильно после.


Оффлайн yacc

  • *****
  • Сообщений: 742
  • Благодарностей: 16
  • Мне нравится этот форум!
    • Сообщения от yacc
Re: Какой язык программирования учить
« Ответ #576 : Сегодня в 17:00:14 »
Писателю компиляторов - учить ТК надо. Прикладному программисту - ТК не потребуется.
Теория компиляция подойдет всем, но все хотят филонить. Филонить лучше тогда на питоне - там библиотек много - самому писать меньше.

Оффлайн Eddy_Em

  • *****
  • Сообщений: 1 745
  • Благодарностей: 56
  • САО РАН. Буково forever!
    • Сообщения от Eddy_Em
    • Я на гитхабе
Re: Какой язык программирования учить
« Ответ #577 : Сегодня в 17:08:02 »
Филонить лучше тогда на питоне
И только обновляется версия: "ой, а чего это все поломалось?"… А код, написанный на С в восьмидесятых, и 15-й gcc спокойно соберет с флажком "-std=c89".
Наверное, змеюка хороша для сиюминутных одноразовых развлечений, но никак не для серьезной работы. А то тот же Кубанек вместо того, чтобы с питонячьего RTS переходить на крестовый RTS2 (правда, С++ он не знает совсем, там С гольный с небольшой ООПщиной), продолжал бы RTS допиливать…
Питон получил популярность лишь по одной причине: массовой дебилизации населения Шарика. Все меньше народа хочет стремиться к саморазвитию, хочет писать оптимизированный софт, да и просто работать эффективно! Ну, а когда отношение "тяп-ляп - и в продакшн", ничего путного из этого не выйдет.

P.S. Если бы такое количество народа не плевало на себя, всякие мелкософты вообще бы обанкротились еще на заре своего развития! А так - идиотов очень много, есть кому всякую дрянь сбывать. На один только этот форум посмотреть — просто ужас какой-то: до чего же мало людей, которые хоть немного умеют пользоваться компьютером. Хотя, казалось бы: астроному-любителю и данные как-то получать надо, и обрабатывать их. Но нет, как дошел их мозг до стадии развития 10-летнего ребенка, так и законсервировался навсегда…
Windows must die!

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

  • ****
  • Сообщений: 306
  • Благодарностей: 8
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #578 : Сегодня в 17:51:35 »
...  до чего же мало людей, которые хоть немного умеют пользоваться компьютером.

Fxd:

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

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

  • ****
  • Сообщений: 306
  • Благодарностей: 8
    • Сообщения от Вантуз
Re: Какой язык программирования учить
« Ответ #579 : Сегодня в 18:01:51 »
Универсальный алгоритмический язык есть, он ближе всего к естественному языку общения и к математической нотации, и это Object Pascal.
Как морская свинка: ближе всего и к свиньям, и к морю.