Языковая политика
Общие обсуждения => Компьютеры и интернет => Topic started by: Чайник777 on 01 April 2026, 10:13:50
-
Сейчас всё, сввязанное с AI, почему-то привязывается к этому языку программирования. Насколько я понимаю, дело в быстроте прототипирования и наличии мощных библиотек.
Стоит ли сейчас учить его или лучше подождать пока появится что-то годное для других платформ/языков? Быстро сеньором в питоне не станешь :)
-
зачем учить питон, если все ходовые задачи прекрасно решает Чатжпт? Профессия без будущего
-
На базовому рівні знати треба — дефолтова мова, як-не-як. Поки що це мова з низьким порогом входження і широкими можливостями. Навіть якщо не використовувати її професійно як основну мову, все одно краще знати, ніж не знати.
Перспективи. Я б сказав, в останніх версіях вже намітилась тенденція до громідкості й непідйомності, у т.ч., на рівні синтаксису. З моєї точки зору, це перший симптом подальшого заморожування розширення сфери застосування мови — далі легка мова для всіх мутує в серйозну мову для обраних, новачкам стає важко пробитись, ринок заповнюється спеціалістами з десятками років досвіду — тобто, те, що ми бачимо в C/C++. Рано чи пізно всі популярні мови скочуються до цього. Python поки що на вершині, і я не можу назвати мову, що його потіснить в майбутньому, але років через 10 усе може бути інакше.
-
зачем учить питон, если все ходовые задачи прекрасно решает Чатжпт? Профессия без будущего
Зачем учить географию, извозчик и так довезёт?Стоит ли сейчас учить его или лучше подождать пока появится что-то годное для других платформ/языков? Быстро сеньором в питоне не станешь :)
А в каком языке вы уже сеньор?
В принципе никто не мешает уже сейчас полноценно работать с ИИшкой через C/C++ (onnxruntime), C# (WinML), Swift (CoreML).
-
Зачем учить географию, извозчик и так довезёт?
вы учите географию для общего кругозора, а не для того, чтобы на этом зарабатывать деньги :negozhe: вопрос Чайника был с подтекстом делать на этом карьеру
-
зачем учить питон, если все ходовые задачи прекрасно решает Чатжпт? Профессия без будущего
ЧатДжПТ може писати увесь код за вас, але пітон треба вчити, щоб цей код читати. Раніше програміст писав усе сам — тепер він може перекласти свою роботу (всю або частину) на штучний інтелект, але контролювати роботу ШІ все одно доводиться. Начальник, який розуміє, що робить його робот-підлеглий, більш ефективний.
-
вы учите географию для общего кругозора, а не для того, чтобы на этом зарабатывать деньги :negozhe: вопрос Чайника был с подтекстом делать на этом карьеру
В сфере ещё есть ниши, в которых можно конкурировать -- например многочасовую реалтаймовую обработку голоса GPT вам не сделает. Но наверное да, стоит поторопиться. Если есть желание делать это на каком-то другом языке -- то тут нужно быть передовиком, с помощью того же GPT или Claude сконвертировать недостающие утилиты и библиотеки с Питона на желаемый язык и т.д. Ну и тяжело будет выиграть конкуренцию с решениями, основанными на Питоне, но попробовать можно.
Просто ждать -- не вариант. Даже если хоршо знаешь язык программирования, главное -- хорошо разбираться в теме, иначе будешь абсолютно неконкурентоспособен.
Даже если появится допустим крутой JS фреймворк для работы с ИИ -- никто не наймёт тебя в ИИ-команию только потому, что ты хорошо знаешь JS. Спрашивать будут в первую очередь опыт работы с ИИ, и скорее возьмут хорошего питонщика и переучат его на JS.
-
Питон незаменим конкретно для машинного обучения, потому что на нём реализованы фреймворки: PyTorch и TensorFlow. (Точнее, питоновский интерфейс оборачивает низкоуровневое "мясо" этих фреймворков) В машинном обучении программирование тривиально, на уровне скриптов: задал архитектуру, параметры обучения, источник данных - и вперёд. Сложность не в программировании вообще и не в питоне в частности, а как раз в машинном обучении: архитектура, параметры обучения и - самое главное - данные. Специалист по ML должен как-то понимать, какой нужен датасет, чтобы получилась хорошая модель. Это особое мышление, непохожее на программирование.
Обучив модель, питон экспортирует её, и её можно использовать в приложениях. А для приложений питон не является мейнстримом, скорее C++.
-
Точнее, питоновский интерфейс оборачивает низкоуровневое "мясо" этих фреймворков
Тут PyTorch и TensorFlow отличаются: Tensorflow написан на C++ и питоновский интерфейс это действительно только обёртка. В принципе Tensorflow можно использовать в C++ сам по себе, но обычно его используют в связке с Keras, который питоновский. PyTorch же напсан на Питоне полностью, на других языках там либо привязки, либо какие-то совсем низкоуровневые части.
Если брать готовый onnx файл со структурой модели, то обучать можно без проблем и на C++. А вот задавать саму структуру модели -- с этим пока хорошо только в Питоне, на других языках придётся сильно заморочиться.
-
Вообще странно, что язык, который традиционно считается "медленным", стал лидером в ML, где на обучение сетки тратится куча времени. Когда "мясо" написано на сях, это ещё можно понять, но чисто питоновский код...
Или тут медленность Python компенсируется скоростью машинок, на которых происходит обучение?
На чём вообще написаны сами ChatGPT, Gemini, Claude и прочие гиганты штучной мысли?
-
Или тут медленность Python компенсируется скоростью машинок, на которых происходит обучение?
Нет. Для меня самого это конечно загадка, но inference yolo+PyTorch+CUDA работает чуть быстрее, чем та же экспортированная yolo-модель на onnxruntime+CUDA.
-
Я больше чем уверен, что непосредственно number crunching написан на чём-то низкоуровневом типа C++.
-
Ну да, либо на CUDA-диалекте C++ (расширение .cu), либо на GLSL, для расчётов чисто на CPU -- на обычных C/C++.
-
Руст лучше с/с++? Заменит их?
-
Концептуально лучше, но если и заменит, то наверное не при нашей жизни. На нишу C ещё Zig будет претендовать.
-
На нишу C ещё Zig будет претендовать.
const std = @import("std");
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
try stdout.print("Hello, {s}!\n", .{"world"});
}(https://www.kolobok.us:443/smiles/light_skin/scare.gif)
-
А в каком языке вы уже сеньор?
В принципе никто не мешает уже сейчас полноценно работать с ИИшкой через C/C++ (onnxruntime), C# (WinML), Swift (CoreML).
Я не то чтобы совсем сеньор, но в последнее время склонялся в сторону любителей кофе, если вы понимаете о чем я :)
-
В принципе привязки TF к Java есть, но всё как я и говорил: сама структура на данный момент задаётся через Питон
https://github.com/tensorflow/models/blob/r1.13.0/samples/languages/java/training/src/main/java/Train.java
Но если хочется развиваться и быть успешным на рынке труда, то должна быть какая-то веская причина использовать именно Java, а не просто "лень учить Питон".
Кстати, по поводу PyTorch я погорячился. Низкоуровневого кода там и правда немало, вот что говорит GitHub:
Python: 62.4%
C++: 30.2%
Cuda: 2.7%
C: 1.3%
Objective-C++: 1.0%
CMake: 0.6%
Other: 1.8%
-
В принципе привязки TF к Java есть, но всё как я и говорил: сама структура на данный момент задаётся через Питон
https://github.com/tensorflow/models/blob/r1.13.0/samples/languages/java/training/src/main/java/Train.java
Но если хочется развиваться и быть успешным на рынке труда, то должна быть какая-то веская причина использовать именно Java, а не просто "лень учить Питон".
Кстати, по поводу PyTorch я погорячился. Низкоуровневого кода там и правда немало, вот что говорит GitHub:
Python: 62.4%
C++: 30.2%
Cuda: 2.7%
C: 1.3%
Objective-C++: 1.0%
CMake: 0.6%
Other: 1.8%
да поймите, дело не только в лени. Я готов учить питон прямо сейчас. Но кто из меня получится через пару месяцев изучения питона? Джун с точки зрения работодателя. А я не хочу быть джуном и джуна моего возраста вряд ли возьмут в проект а возьмут джуна - студента.
-
Специалист по ML точно не получится. Но и с Java тоже не получится.
Выиграйте какие-нибудь состязания на kaggle - глядишь, работодателя впечатлит. :)
-
зачем учить питон, если все ходовые задачи прекрасно решает Чатжпт? Профессия без будущего
Так чат GPT работает на Питоне. :)
-
Но кто из меня получится через пару месяцев изучения питона? Джун с точки зрения работодателя.
А Вы не будьте джуном для работодателя, будьте сеньором для себя.
Спросите у того же GPT, чего сейчас на рынке не хватает, и пишите.
-
Так чат GPT работает на Питоне. :)
Не, он работает на нейронке. А на чём крутится нейронка - неважно.
-
Не, он работает на нейронке. А на чём крутится нейронка - неважно.
Я делал прямой запрос, чат ответил, что его код написан на Питоне. :yes:
Меня интересует другое: должен ли это быть язык со строгой типизацией? :what?
-
Я делал прямой запрос, чат ответил, что его код написан на Питоне. :yes:
Инфраструктура какая-то - почему бы и не на питоне. Я имею в виду, что "думает" он не питоном.
-
Меня интересует другое: должен ли это быть язык со строгой типизацией? :what?
Думаю, для работы - лучше со строгой типизацией!
-
Думаю, для работы - лучше со строгой типизацией!
но почему???
-
Привычка у людей. Хотят, чтобы комп за них думал и носом тыкал, мол, ты тут вместо 5.000 зачем-то просто 5 использовал, подлец!
-
Всё приходит с опытом... Я помню как некоторые знакомые лет пять назад утверждали что без статической типизации вообще делать нечего. А сейчас сидят и молча учат питон :)
-
но почему???
В общем, у меня сложилось такое впечатление. Типизация выступает минимальной документацией; легче модифицировать код, например, если требуется превратить
interface I {
foo;
bar;
}
в
interface I {
foo;
bar;
baz;
}
автодополнение работает, особенно при вызове методов через точку, что, в частности, улучшает discoverability. Если в каких-то ситуациях статическая типизация оказывается ограничительной, то на работе, может быть, это даже хорошо.
Я помню как некоторые знакомые лет пять назад утверждали что без статической типизации вообще делать нечего. А сейчас сидят и молча учат питон :)
Mypy существует уже давно.
-
автодополнение работает, особенно при вызове методов через точку
А как связаны автодополнение и статическая типизация? В DevTools и IDLE тоже автодополнение методов через точку работает, хотя в JS и Python никакой типизации нет.
-
В общем, у меня сложилось такое впечатление. Типизация выступает минимальной документацией; легче модифицировать код, например, если требуется превратить
interface I {
foo;
bar;
}
в
interface I {
foo;
bar;
baz;
}
автодополнение работает, особенно при вызове методов через точку, что, в частности, улучшает discoverability. Если в каких-то ситуациях статическая типизация оказывается ограничительной, то на работе, может быть, это даже хорошо.
Mypy существует уже давно.
прошу прощения, возникло недопонимание. Я имел в виду далеко не только питон а вообще языки программирования.
-
А как связаны автодополнение и статическая типизация? В DevTools и IDLE тоже автодополнение методов через точку работает, хотя в JS и Python никакой типизации нет.
Вопрос в доступной информации. Например, в DevTools есть объект в рантайме, и конечно, DevTools про него знает абсолютно всё. Или типы можно выводить. Но при статической типизации такой информации обычно больше. Например, один раз работал с кодом на JS, в котором было много функций типа payload => ... . Конечно, в теле такой функции автодополнение не работает. И это полбеды, потому что я сам, так же как алгоритм автодополнения, не имел возможности понять, что это за payload в каждом конкретном случае.
-
Я имел в виду далеко не только питон а вообще языки программирования.
Я тоже про языки вообще. Моя точка зрения, что на работе лучше статическая типизация построже, а на отдыхе - то, что доставляет наибольшее удовольствие.