×Закрыть

Яку мову обрати?

Python чи Java (чи можливо щось інше)?
Синтаксис вивчити не складно, але потрібно також знати і різні бібліотеки до них, а також всілякі нюанси які проявляються тільки попрацювавши деякий час.

В мене є декілька років досвіду з PHP та JS і останнім часом вивчав python, так як мені цікавий ML та data science. Однак в час, коли хочеться більшої стабільності, привертає на себе увагу java, для якої існує велика кількість вакансій закордоном, яка значно переважає інші мови, за виключенням фронт-енду.

Дивлячись на тренди stack overflow, jet brains та dou, можна побачити, що доля python зростає, а php та java, падає.

Наскільки я зрозумів, основний недолік Python, що він не дуже швидкий, і на мою думку він не буде використовуватись в системах з великим навантаженням. Тому не зрозуміло чи є в нього майбутнє в web. Тут хотілося б дізнатись про це від когось досвідченого

PHP, навпаки, створений для web і я не думаю, що він буде використовуватись для чогось іншого, в той час як Java використовується не тільки для web , а і для створення багатьох open-source проектів, не маючи недоліків швидкодії Python

Якщо подивитись на FAANG компанії, можна побачити, що основними мовами є C++, Java, Python та Js.

Хотілося б вибрати одну-дві мови загального використання раз, да гаразд. Так щоб і роботи вистачало, і можна було б використовувати не тільки для web, і в майбутньому ця мова залишалась б актуальною.

LinkedIn

Лучшие комментарии пропустить

Яку мову обрати?

English

Якщо подивитись на FAANG компанії, можна побачити, що основними

Є Computer Science && System Design

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Обирайте tk мова саме для вас

Тут вопрос в том, что тебе нужно или важнее? Язык, в которым главное стабильность и размер community? Тогда без вопросов Java. Если тебе нужна новизна и желание похвастаться тем, что ты изучаешь — можешь выбрать любой новомодный язык

Як вивчиш — відкривай курси, і вчи інших.

Для брейнфака достаточно жениться.

Кожна жінка знає брейнфак за замовчуванням)

И работать учителем в школе, если возьмут. Отличный выбор!

если возьмут.

Я чув там кадровий голод.

Это в Киеве. В каком то селе учителем ещё попробуй устройся

Я придумав план:

1. Перемістити всі школи в Київ, тим самим піднявши зарплати вчителям до 4 тисячі доларів.
2. Побудувати гіперлуп в села, звідки доставляти учнів до шкіл.

Зарплаты по 4 тыщщи

Он уже ее выбрал, судя по языку на котором написан топик.

Мне лично Java больше нравится. А вообще, важно не какой язык вы используете, а чем вы собираетесь заниматься.
В Java по крайней мере строгая типизация и понятное ООП. Какое ООП в python я не знаю.
Я начинал когда-то с джавы, сейчас на C#. Пусть доля джавы и си шарпа и меньше, чем python или javascript, но javascript чаще всего используется для всяких сайтов на аутсорсе, поэтому он и популярный, так как каждому магазинчику нужен сайт. Для чего используется python, я вообще не знаю. Но знаю, что на си шарпе можно и бекенд написать, и фронтенд, и мобильное приложение, и десктопное.
Но это не значит, что вы всю жизнь будете одним языком пользоваться. Возможно, у вашей компании появится новый проект, для которого придется изучить новые технологии.

— Как объяснить дотнетчику что такое питон?
— Ну смотри, отходишь от него на метров 30 и желательно прячешься за какой-то стальной забор и кричишь «Питон второй лучший язык в любой области, а шарп первый с конца в любой области», ждешь 3 секунды и делаешь вот так cutt.ly/wi76A7N

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

Не могу выбрать цитату, лучше характеризующую этот пассаж — «Волны перекатывались через мол и падали вниз стремительным домкратом» или все же «Домики деревянные набигают...»?

Почему вы решили, что доля Java меньше, чем Python? Статистика показывает, что наоборот

Увидел комментарий, где говорится об обратном. Но это не так уж важно

что нравиться. и на жабе и на питоне работы хватает.

Яку мову обрати?

English

Якщо подивитись на FAANG компанії, можна побачити, що основними

Є Computer Science && System Design

А какой первый язык выбрать, если English — C1? Смотрю в сторону Python.

Залежить від тебе.
— пошвидше знайти роботу або займатись сайтами, то, мабуть, джаваскріпт
— геймдев або займатись низькорівневим програмуванням, то С++
— влаштуватись в стабільний ентерпрайз і просидіти там 10 років без проблем, то джаву.
— ML/AI/DS пітон
— влаштуватись в FAANG пофіг на мову.

влаштуватись в FAANG пофіг на мову.

Що не значить, що можна жодну не знати. Одну з мов знати треба, і мати практику хорошу.

Достатньо хорошу аби вміти закодити рандомну задачу на літкоді.

займатись низькорівневим програмуванням, то С++

бльоооооо....
С а не С++
але напоркуа?

вчіть базу, а не мови :)

В мене є декілька років досвіду з PHP та JS
Python чи Java (чи можливо щось інше)?

Шта? зачем эти метания?

Якщо подивитись на FAANG компанії, можна побачити, що основними мовами є C++, Java, Python та Js

Там скорее всего не будут спрашивать про синтаксис, а больше про алгоритмы, поэтому пофиг.

Так щоб і роботи вистачало, і можна було б використовувати не тільки для web, і в майбутньому ця мова залишалась б актуальною.

У меня знакомый пишет на perl, у него вагон клиентов. Массовость не всегда хорошо.

Шта? зачем эти метания?

Чому б ні? Додатковий досвід.

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

Лайк!

Совет не топ, но выбирать стоит из местного рынка. На какой язык найдёте, такой и будет. Совет интерпретировать как — чем раньше пойдёте работать в команде и сфере, тем быстрей ответите себе на этот вопрос исходя из интересов и сферы.
Во многих компаниях используется десяток разных языков и без каких либо особых причин, иногда просто потому, что новый тимлид ставленник cto и решил, что новые микросервисы будут на скала. Через месяц его увольняют, а 5 человек уже наняли. Поэтому, что там в гугле — там все, но это не показатель)))

основний недолік Python, що він не дуже швидкий

Магічна мантра, яка спливає то там, то там. Але ніхто з пишучих це, ніколи не бачив в очі ні досліджень, ні тестів, ні порівнянь.

Дійсно, немає якихось толкових тестів.

Основное время тратится на ввод-вывод. Типичные вызовы к базе данных и сервисам занимают от миллисекунд до десятков секунд, а выполнение кода занимает наносекунды или микросекунды.
Поэтому для 99.9% задач скорость языка не имеет никакого значения, все языки можно считать одинаково быстрыми.
На первый план выходит простота написания, отладки и сопровождения кода, количество кандидатов на вакансию, порог вхождения и эстетические предпочтения.
На питоне легче писать — лаконичный, экспрессивный, простой, приятный. Но по мере роста и усложнения проекта джаву проще сопровождать — благодаря статической типизации и несколько большей культуре кода заметно проще разбираться в проектах, написанных другими.
Как по мне, равноценные языки, каждый со своими плюсами и минусами, но скорость исполнения — аргумент для исключительно малого процента проектов.
У меня лично питон вызывает более теплые чувства, но кодить за деньги все равно предпочитаю на джаве.
В целом же, выбор равноценный, оба хороши, не прогадаешь.

Давно такого збалансованого коментарю про технології не читав на Доу. Браво!)

Так, вже зустрічався з тим, що коли працюєш з великою кількістю даних, то основний час забирає запит в базу. Також чув що Java більш зручна для великих проектів, а з Python можна набагато швидше зробити прототип.

вже зустрічався з тим, що коли працюєш з великою кількістю даних, то основний час забирає запит в базу

Можна і з невеликими. Просто додавши запити в базу прямо з темплейтів, в циклах))

Також чув що Java більш зручна для великих проектів

Не Java, а статична сильна типізація. Коли ти знаєш з чим працюєш, і що очікувати від методу, який викликаєш. Звісно ООП ще допомагає, якщо правильно використовувати. Неймспейси(в пітоні імпорт ліб). Більш просунута система поліморфизму членів класу з private, protected, public. Інтерфейси(легше побачити усі наявні публічні методи не проходячи по класу-реалізації).

Я не працював на великих, але писав один ап спочатку на ларавелі, а потім на нет корі переписував. І з шарпом набагато легше програмується, більш захищено і очевидно. З пхп банально подивити що з себе об’єкт представляє — неможливо, там є лише догадки на рівні IDE реалізовані.

Та й який сенс з динамічної типізації? Вона може і прискорювала написання, але тепер є «Implicitly typed local variables» в статично типізованих мовах, і пишеш шо там var, шо там, тільки у випадку з статикою ти дістаєш її переваги. Потім, подивіться куди тренди JS привели — до дефолтного оголошення змінних як const! А не так давно головний аргумент адептів JS перед дорослішими мовами був «флексибіліті», тобто можливість конвертувати типи. Отака історія.

З пхп банально подивити що з себе об’єкт представляє — неможливо, там є лише догадки на рівні IDE реалізовані.

Type hints жеж, как на параметры методов и свойств классов, так и тип возвращаемого значения. Но дженериков пока нет, это плохо (в php 8 рассматривают добавить, но с муторным синтаксисом).
В питоне, руби и js даже этого нет.
А C# прямо очень годный язык.

Type hints жеж, как на параметры методов и свойств классов, так и тип возвращаемого значения.

Хіба ця фіча стабільно працює? Наскільки я бачив, то там точність менше 100%, і буває або не видає, а може й невірно видає. А може я не про те думаю. Зараз загуглю.

www.php.net/...​uage.oop5.typehinting.php

Таке? В php7 вводили ретурн типи і аргумент типи. Ніколи не зтикався правда. З ними IDE точніше видає тип?

Конечно стабильно всё работает уже много лет. И ide не нужно шарится по phpdoc’ам и выводить тип.
Да, у свойств классов типы добавили только в последней версии (php 7.4) и во фрейворках этого пока нет, но в своём коде то можно и нужно это использовать, а не писать как 10 лет назад делали.

Но один фиг php не c# и не java по возможностям, с этим спорить глупо.

Не знав. Але це по суті вже дуже близько до статично типізованих мов. Явне позначення типів в членах класу. Не вистачає типізації локальних змінних. Відсутність чого вже не є такою проблемою в розробці, бо не виходить за межі підпису методу(ретурн і інпут типи), і звісно дженериків, щоб не скочувати універсальні класи до dynamic typing,

Радує те, як навіть скриптові мови починають отримувати так необхідні в повноцінній розробці фічі. Уніфікація підходів на конкуруючих технологіях! Схоже чув планується, чи вже почало робитися: стандартизація клауд сервісів, щоб можна було легше мігрувати від одного провайдеру до іншого, і не мати вендор лок. Цей світ стає бетер еврі дей!

Ну локальным переменным если и сделают, то не скоро, ибо не так критично — узкий скоуп, на интерфейс и зависимости компонентов не влияют.
Тренд в целом понятный — размеры проектов и команды растут. Уже важно не скрипт на коленке накидать, а разбираться с кучей кода, который написали до тебя. И с типизацией это делать проще.

Дядя, перекрестись docs.python.org/3.5/library/typing.html Тайпхинты уже 5 лет как есть. А еще есть тайпчекер mypy.
А если руки растут не из известного места и не крудошлеп, то для серьезных парней есть cython.

Цікаво як активно скриптовики переходять на типізований спосіб написання коду. Все ж це не mandatory, і дехто може забивати.

Перешли уже, если клепаешь скриптик — обходишься без хинтов и mypy. Если проект на 2+ файла со всех щелей вылезают адепты хинтов. А по-поводу того, что забивают — так это больше проблема конкретного человека,а не языка.
Но есть вещи и более страшные в уютном питон мире www.oreilly.com/...​terns-with/9781492052197
У ребят какой то кровавый энтерпрайз на питоне...

Таки да, добавили в python, проспал, правда и не следил особо )

Більш просунута система поліморфизму членів класу з private, protected, public.

Тут я помилився в термінології. Не поліморфизм, а інкапсуляція. Сорян.

Просто додавши запити в базу прямо з темплейтів, в циклах))

Грішив таким на початку. ))

В php, як вже сказали типізація вже є, але не всюди, тому треба також більше перевірок робить і зразу кидать exception, якщо щось не так. Тоді легше буде.
Також я замітив що в php не має нормальних вбудованих структур даних, як в деяких інших мовах, але то не важливо для звичайних завдань.

І з шарпом набагато легше програмується, більш захищено і очевидно.

Треба буде і мені спробувати на джаві щось невеличке створити.

Залежить від того, що і як міряти, але я робив тести — повільний.
Тест був порахувати число Фібоначчі самим тупим наївним алгоритмом.
З ruby, правда, не порівнював, але серед C, Nim, Rust, Erlang, Elixir, Julia, PHP — найповільніший.

хочу посмотреть на какуюто веб страницу которую вы написали с помощью С. Где то статья была про выбор фреймворков и языков, там был пример — в салоне машин вам будут парить самосвал как один из самых безопастных видов транспорта, большой запас мощности, может везти до 20тонн без напряга, очень удобные сидухи, аиро подвеска, все компьютерирированно и т.д. и если вы не разбираетесь а деньги есть то вам такие его впарят

Це челендж якийся?
«Напиши сайт самим незручним способом»?
Я ж написав, що і при яких умовах тестувалось, спеціально уточнив про «самий тупий наївний алгоритм» — навіть базова оптимізація обчислення вирівняла всіх контестантів так, що час виконання на всіх мовах став відрізнятись у межах похибки.

делал многопоточный клиент для теста моего сервиса вначалена питоне потом на джаве
питон реально сосет у джавы

Как вариант рекомендую посмотреть в сторону Ruby, как язык с простым синтаксисом, низким порогом входа. Крайне похож на Python, но с упором на стартапы и веб

Как там дела у рубей, без рельсов же можно существовать или нет?

і заодно прикупити смузі та гіроборд, бо інакше не рубіст :)

для формошлепства — вполне

Коте-реалісту так аж забагато :-)

Є така наука на стику кібернетики та математики: кібєнєматика

для якої існує велика кількість вакансій закордоном

новачка перевозити ніхто не стане. а матерого спеціаліста перевезуть, навіть якщо він спеціалізується на Cobol. В Україні більшість вакансій то PHP, JS, Java. Але і для Python, Ruby, Go є, але знайти складніше.

Синтаксис вивчити не складно, але потрібно також знати і різні бібліотеки до них, а також всілякі нюанси які проявляються тільки попрацювавши деякий час.

наскільки мені відомо, у Go значна частина інструментарію — вже в стандартній лібі. На відміну від інших екосистем.

Дивлячись на тренди stack overflow, jet brains та dou, можна побачити, що доля python зростає, а php та java, падає.

По-перше, тренди — про інтерес, не про кількість проектів. По-друге, абсолютні значення переважають. Припустимо, при поточному тренді Питон обжене РНР за кількістю проектів за 10 років(випадково обране число). Чи значить, що за 10 років нічого не зміниться в світі, чи можемо покладатися на прогноз? Звісно, ні.

Так щоб і роботи вистачало, і можна було б використовувати не тільки для web, і в майбутньому ця мова залишалась б актуальною.

тут розробники на Perl(до речі, недавно вийшла 7ма версія) та Delphi зітхнули. Також хто б знав ще 10 років тому, що JS таки виб’є нішу на бекенді.

По-перше, тренди — про інтерес, не про кількість проектів. По-друге, абсолютні значення переважають. Припустимо, при поточному тренді Питон обжене РНР за кількістю проектів за 10 років(випадково обране число). Чи значить, що за 10 років нічого не зміниться в світі, чи можемо покладатися на прогноз? Звісно, ні.

Так, треба якось менше зважати на ті всі тренди.

FAANG компанії, можна побачити, що основними мовами є C++, Java, Python та Js

там пройти 5-9 рівнів інтерв"ю
мова не має значення (крім інгліш)

Главное, чтобы не так
pics.me.me/...​es-00p-hello-66282918.png

Згоден, але для МЛ ще потрібно добре знати математику ))

UltimateBet, an online poker site
United Biscuits, a British and European food manufacturer
United Breweries Group, a brewery conglomerate in India
Urząd Bezpieczeństwa (1945–1954), part of the Polish secret police
Myanma Airways, IATA code UB
Berezin UB, a Soviet World War II machine gun
Undefined behavior, in computer science, operations that are unspecified
Upper bound, a mathematical concept in order theory
The Urantia Book, a spiritual and philosophical book published in 1955

Вот и спалился, гуманитарий :) :)

а ты думал таблица умножения не пригодится?))

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

Ви розумiэте, що там математика рiвня ... ну, наприклад, теорем криптографii? Якщо Ви не ботанили 5 рокiв у ВИШi, Вам ML не свiтить. i з мрiэю про затишний куточок дата саэнтолога доведеться розпрощатися.

дата саэнтолога
саэнтолога

uk.wikipedia.org/wiki/Саєнтологія :
«Саєнтологія (від лат. scio і грец. λόγος) — релігійно-філософське вчення, що було засновано і розвинено американським відставним військовим, письменником-фантастом Л. Роном Габбардом у 1950-х роках. Новітній релігійний рух.»

хоча ідея хороша — зробити з цього культ

Прежде чем учить язык — стоит прекратить думать понятиями «недоліки швидкодії» и «великі навантаження».
Веб в 99% случаев не имеет отношения к «высоким нагрузкам», ты как пхпшник должен это понимать, а любой реально высконагруженный проект в любом случае будет переписан на язык без сборщика мусора.
Если тебе интересен веб и мл — я бы брал питон, он точно никуда не уйдет в ближайшие 10 лет и отлично себя чувствует в обеих областях.

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

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

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

Ага, говно, как собственно и все остальное в этой жизни, кроме яхт 200+ метров и роллс ройса.

Яхти теж гівно, бо розсипаються швидко і треба платити на утримання дофіга. На Роллс Ройсі не поїдеш в Карпати. Кому треба ця бляха?

Все вышесказанное можно распечатать и использовать как строгое доказательство теоремы эскобара.

На Роллс Ройсі не поїдеш в Карпати.

Rolls-Royce Cullinan

будет переписан на язык без сборщика мусора.

А для веба есть язык без сборщика мусора?
И что бы популярен, а не экзотика.

Я вот сходу могу назвать только: Swift+Vapor. Но это ж экзотика.

Я конечно ничего против не имею этих трех, но вообще интересно насколько это распространено.
Реальные кейсы.

Дякую, згоден, якщо дуже потрібно, деякі частини можна переписати на чомусь іншому

Вчи технології, а не мову... Docker, k8s, Cloud — це надовго))
P.S. авжеж Go)))

Docker, k8s, Cloud — це надовго))

Ops -> Dev Ops -> No Ops -> ?

Для більшості так, але може ще встигне? .))

Точно на довго? А до Go я приглядуюсь, тільки вакансій як кіт наплакав )

Присягаюсь)) А вакансії треба знати де шукати... ;))

Ну дивись мені. )) Буду слідкувати за цими технологіями )

стільки як і по ембедед

Стільки всього сказано, стільки всього написано, але вибір очевидний... англійська.
P.S. Все залежить від сфери.

Англійську ще вивчив у школі )), а так згоден, що мабуть треба вибрати сферу.

Учил в школе — это абсолютно ничего не значит.

Если можешь послушать какие-то англоязычные лекции, пусть с англоязычными субтитрами, и сделать по ним что-то — вот это показатель понимания языка. Но только понимания. Это примерно только pre-intermediate.

Intermediate, который многие требуют, уже означает, что ты можешь сносно общаться на английском. Это знание грамматики, произношение, и конечно словарный запас на несколько тысяч слов.

Безупречности нет, естественно. В словарь смотрят почти все, но чем меньше, тем лучше.

Англійську ще вивчив у школі

For whom how

Найбільша іллюзія, що анлійська мова застосовується всюди.
В Мілані розмовляють італійською і резюме на англійській летять зразу в корзину.
А хрюші в Дрездені розмовляють німецькою і те ж саме роблять з резюме на англійській.

Коли ви бачите в вимогах до вакансії «Fluent English», то це означає:
— fluent Italian and English
— fluent German and English

А-ха-ха! Вакансії із Мілану та Дрездена летять в кошик, а не резюме.

а хрюші турецькі понаєхавщі

Подписаться на комментарии