Муки выбора ЯП

Несмотря на то, что всего пару дней назад была создана аналогичная тема, решился создать свою.

В чем дело?
Хочу вАйти (строго говоря, я уже в нем, QA, но пресытился).

Какие исходные?
Мне 25, гуманитарное образование, математика на школьном уровне (разумеется, многое забыто), английский upper, мануалы читаются вполне нормально.

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

И в чем затруднение?
Несмотря на то, что я примерно очертил круг интересов, выбор ЯП как первого шага пока что боль.
Как все происходило последние пару дней:
1. Почитав, прикинул, что iOS-development мне интереснее всего, опыт работы с яблочками есть. Теперь надо выбрать, что изучать — Objective C или Swift. Индусы с аналогичных тем на ин. форумах бодро рапортуют, что свифт весьма простой, можно смело его изучать, в идеале — оба. Ок, читаю дальше, прихожу к выводу, что выбор мой так себе — рынок значительно уже, необходим рано или поздно недешевый Mac, плюс многие занимаются именно своими проектами, что не прельщает, и, что главное, совсем зелени вроде меня они все равно не так «легки».
2. Полез читать дальше, все-таки не один айос интересен. На повестке JS и С#. Оба популярны и востребованы, под мои цели подходят. Но как первые языки их жестко критикуют и высмеивают агитаторов. Про PHP читаю много нехорошего, и это не совсем то, что хотелось бы. И вообще в обсуждениях на эту тему кромешный ад, рекомендуют ну все подряд, я в полной прострации. Советуют Питон, потому что простой. Советуют С/С++. Советуют Паскаль...
3. Резюмируя — я боюсь потерять время, изучая фундамент, и боюсь стать говноспециалистом, выучив модное и потом кучу лет доучивать что-то из основ. Это не планируется как хобби, я не могу позволить себе долго смаковать теорию (при этом понимая, что без нее никуда), цель прежде всего работать. В разных комментах часто сквозит мысль, что не язык главное, это всего лишь инструмент, а общее понимание, но в абстрактной теории будет ли интересно это изучать?

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

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn

Найкращі коментарі пропустити

Сейчас такое время, что знать одного языка недостаточно, имхо. Иначе не поспеешь за поездом.
Более того, опытному программисту неважно, на каком языке писать: стоит ему лишь почитать немного про синтаксис, как можно начинать с ним работать.
Я это к тому, что неважно, какой ты выберешь язык. Он все равно не будет твоим единственным, если ты продолжишь развиваться как программист.

Задай себе вопрос по-другому: что я хочу, для начала, сделать? Исходя из этого, выбирай язык.
Хочешь веб приложение? Попробуй начать с JS.
Что-то из софта под Windows? Попробуй C# (или Qt, но там C++, зато не только Windows)
Под андроид? Бери Java или Kotlin.
Под iOS? Swift (или Objective-C, если нравится синтаксис)
С игр не начинай, имхо. Писать грамотно игры — это значит разбираться в лоу-левел вещах, а-ля GL или D3D, понимать работу видеокарты и как вообще устроен графический пайплайн. На изучение этого ты потратишь 5+ лет. Со своими знаниями ты сможешь писать только скрипты в существующих движках, а это будет только отуплять тебя как программиста.

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

Ну а потом ты сам поймешь что тебе надо, чего хочется и на каком языке тебе комфортнее кодить. Сейчас об этом сильно не думай, просто пиши код.

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Советуют Питон, потому что простой. Советуют С/С++. Советуют Паскаль...

кстати, а Бейсик советовали?)
например, ru.wikipedia.org/wiki/FreeBASIC или ru.wikipedia.org/wiki/Gambas (только для линуксов) или (наиболее популярный) VB.NET
з.ы. для

мобайл

есть www.b4x.com (Basic for Android, iOS и IoT + есть версия для джавы), а для

Геймдев тоже привлекает,

есть DarkBasic ru.wikipedia.org/wiki/DarkBASIC

А сколько по ним вакансий?
Да и бейсик не проще и не лучше питона. И при этом парадигмы бейсика устарели уже лет 25-30 назад.

Насчет вакансий не знаю, не проще питона — согласен. А насчет парадигм бейсика, например, на сколько я понял по статье из википедии про FreeBasic — в него добавили много современных возможностей по сравнению с классическим бейсиком, а VB.NET — так это практически равный си-шарпу по возможностям язык (ибо на той же платформе работает).

Да и про бейсик я вспомнил в связи с упоминанием паскаля (ибо имхо современные диалекты бейсика в качестве языка для изучения и применения ничем не уступают паскалю и дельфи).

З.Ы. а так я сам за питон)

На повестке JS и С#. Оба популярны и востребованы, под мои цели подходят. Но как первые языки их жестко критикуют и высмеивают агитаторов.

ИМХО, при правильном подходе и подборе материалов (книг и т.д.). Вполне как первые языки.

Советуют Питон, потому что простой. Советуют С/С++. Советуют Паскаль...

Питон как первый язык — да.
С/С++ — ИМХО нет.
Паскаль — ИМХО только если FreePascal и PascalABC.NET.

Почитав, прикинул, что iOS-development мне интереснее всего, опыт работы с яблочками есть. Теперь надо выбрать, что изучать — Objective C или Swift.

а можно внезапно C# и Xamarin)

Резюмируя — я боюсь потерять время, изучая фундамент, и боюсь стать говноспециалистом, выучив модное и потом кучу лет доучивать что-то из основ.

изучение фундамента ИМХО не являеться потерей времени, ибо все уходящее, а музыка основы — вечное)

Cтосовно iOS, Swift, як перша мова програмування, як на мене — не найкраща ідея, і знову таки, це суб’єктивно, але стартувати краще з Objective-C, а десь за 2-3 тижні, коли більш-менш орієнтуєшься в UIKit, паралельно починати розбиратися з Swift.

Синтаксис — не главное. Выбирайте область, в которой хотелось бы начать работать. Часто в ней используется не один язык. Например, мобильные приложения: это, во-первых, выбор — iOS или Андроид, во-вторых, нативное приложение или гибридное, а уже потом — Swift vs ObjC, ReactNative vs Cordova.
Также выбор стоит между работой в среде Вындовз, *nix или OS. И этот — не самый малозначительный (не обращайте внимание на цену макбуков: пока макбук устареет, Вам прийдется поменять парочку винбуков).
Подумайте, что хотелось бы программировать: энтерпрайз, системы, лохоматы, кликбейты, порносайты, магазины, социалочки.
Оцените число вакансий (но это условность; например, ангуляр 1.х проектов уже к счастью мало, но и желающих совсем нет; так что — паритет)
А уже потом поинтересуйтесь, на чем пишут в интересующей Вас области.
Могу с уверенностью предположить, что в течение пяти лет Вам прийдется выучить минимум еще один синтаксис в дополнение к выбранному.

OS можно поменять, если язык к ней не привязан.

Так совсем зелёному и область выбрать невозможно.
Поэтому начинают таки с языка — чтобы набрать представление об областях работы.

Про PHP читаю много нехорошего

А вы почитайте хорошее: www.phptherightway.com

Нет, ни разу не нормальнй

Фейсбуку нормальный, Андрею Батыеву — нет. Наверно проблема в вас

Фейсбуку нормальный

На самом деле нет, они вроде пытались с похапе слезть

Решили, что на плюсах лучше будет

Исходя из моего видения нынешней конъюнктуры местного рынка и предпочтений ТС, посоветую выучить один из, в порядке предпочтения:
— Python
— JS
— Java (Android или QA Automation)
— PHP
— C# (Enterprise)
— Java (Enterprise)
Все они великолепны как в качестве первого языка, так и единственного.
Главное язык выучить основательно, по толковой книжке, от корки до корки, а другие какие-то основы (шаблоны проектирования, алгоритмы, сети или еще что) можно и потом, когда уже есть работа, если вдруг будет желание.

Точно с голым языком без фреймворков работа для джуна найдется?

Под изучением языка сейчас само собой подразумевают и изучение одного из его топовых фреймворков.

С джуна спрос невелик, но он тоже есть.
В общем случае, любой язык требует дополнительно знаний фреймворков, однако в плане затрат времени и усилий есть нюансы.
Если, например, говорить о Python, то знания языка — это 70% времени на подготовку.
Остальные 30% — это освоить Django, Flask, SQLAlchemy, virtualenv, pip, git, py.test, nose, а также основы Linux CLI, SQL, HTML, CSS, JS, из которых только SQL, JS и Django займут по неделе, а остальное по день-два максимум.
Т.е., для джуна на питоне (без предыдущего опыта в программировании) трех месяцев подготовки (полный день) должно быть более-менее достаточно, и из этих трех месяцев только один на фреймворки и вспомогательные вещи.
Еще проще дело обстоит с Java для QA Automation, т.к. сам язык для данного сценария выучить довольно просто, а потом за неделю дополнить эти знания теми же основами HTML/CSS, плюс Селениум.

Django, Flask, SQLAlchemy, virtualenv, pip, git, а также основы Linux CLI, SQL, HTML, CSS, JS, из которых только SQL, JS и Django займут по неделе, а остальное по день-два максимум.
Еще проще дело обстоит с Java для QA Automation, т.к. сам язык для данного сценария выучить довольно просто, а потом за неделю дополнить эти знания теми же основами HTML/CSS, плюс Селениум.

А где тег #sarcazm? )
или вы это на полном серьезе пишите?

На полном серьезе. Консультировал, помогал, наблюдал.
По сути, джуну надо отлично знать только основной ЯП. В остальном можно плавать и барахтаться, не критично.
А обратите внимание, что у ТС еще и

английский upper

, — с первой работой вообще проблем не будет.

QA automation НЕ легче, чем джуниор веб бекенд.
там еще нюансы по теории тестирования, и окружению, которые не всегда джуниор дев программисту нужны.

Вполне возможно. Селениум-тесты писал, хоть теорию тестирования читать не приходилось, не знаю, какой там объем. Но я никогда и не был QA, просто процесс на одном из проектов в какой-то период времени был таков, что девелоперы должны были писать acceptance тесты для основных сценариев. И кстати, я и на других проектах наблюдал подобное: девелоперов иногда ненадолго, а иногда на целые месяцы подключают к написанию acceptance тестов.

оу-оу-оу, сэр....
это была намеренная антиреклама, или лось фотзефак?))

Антиреклама чего?

конторы, чего же еще?

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

я про вот это

девелоперов иногда ненадолго, а иногда на целые месяцы подключают к написанию acceptance тестов.

сорри, а кокого это делают разрабы?
економия?
не. unit тесты, ок, это то что любой разраб должен делать, если ему дают на это эстимейт

Я в решениях такого уровня не участвую, но могу предположить, что многое зависит от объема работ. Когда объём невелик, то можно поручить работу другой компании; можно привлечь консалтера на время: можно решить задачу внутренним силами. Когда объём работ значительный, то скорее всего, выгоднее нанять автоматизатора на постоянной основе. Но это только мои догадки.

а иногда на целые месяцы

я именно про вот это
все остальное мне глаза не режет

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

Не видел ничего в теории тестирования, что не было бы понятным. Может, за 10 лет появилось что-то новое.

Судя по тому что вы писали, вы достаточно далеки от понимания теории тестирования ))))

да, настолько далек, что работал тестировщиком, и пару месяцев лидил команду)

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

тогда те, которые книжки писали по теории тестирования, тоже это не совсем понимали.

это вы на Савина намекаете? )))))

Нет, читал какие-то 2 или 3 заграничных книжки, но уже не помню авторов.

Если вдруг вспомните случайно — напишите пожалуйста ))

не вспомню — 11 лет прошло

хм, сколько ваши услуги стоят, я бы хотел за пару недель наконец-то выучить Java+Selenium/Selenide на достаточном уровне, чтобы не копипастить код для автотестов )

Помогаю исключительно друзьям, на бесплатной основе :)

Главное язык выучить основательно, по толковой книжке, от корки до корки
SQL, JS и Django займут по неделе

как от так?

SQL — первые 160, максимум 190 страниц Грабера.
JS — питонщику-джуну не надо даже jquery знать, или на что же указывает this, достаточно синтаксиса. Неделя с головой на почитать и побаловаться.
Django — Ваш эстимейт?

— ну по Django я соглашусь — неделя норм, а вот то что JS ему недели с головой хватит — очень сильно сомневаюсь ибо

гуманитарное образование

да и синтаксис -это мало для прохождения собеса )
— по SQL я б тоже на неделю не расчитывал, ну разве что совсем шаровый собес.... хотя Харьков не Киев, может там и ниже требования )

Я прошел и провел множество собеседований.
Спрашивают ли SQL и JS на собеседовании? Практически всегда.
Учитывают ли при принятии решения о приеме на работу? Крайне редко, по крайней мере в Киеве.
Оговорюсь, я джавист, и не исключаю, что с питонщика джаваскрипт и SQL требуют строже. Но что-то я сомневаюсь.
Мы ведь ведем речь о банальном войти в айти, верно? По-моему, джуну хватит и основ.

я вобщем то о той же джаве, где на собесе может попасться и простенькую DB задизайнить и запросик состряпать не самый простой и про нормализации расказать и страничку верстануть и на джиэсике немного попедалить ну и еще на много милых и приятных уху вопросов ответить )))
хотя может и отстал от жизни и счас такое не спрашивают, но буду признателен ( для общего развития) за список вопросов которые спрашиваете Вы ))) можно или тут или в IN )

Я всегда спрашиваю эти вещи, но для полноты картины. Большинство джавистов отвечают на 2 балла из 10 по SQL. Я вообще не учитываю знания SQL при принятии решения. Никак. Джавист должен отлично знать джаву, спринг, шаблоны, английский, JPA, плюс специфичные для конкретной вакансии вещи. А SQL они не знают, да и бог с ним.

Вообще, если учащемуся не помогать а предоставить самому себе, — и пусть барахтается, то конечно, обучение любой сфере может занять в полтора-два раза больше времени.
Банальное поставит линукс — настроить ИДЕшку, мускул и т.п. у человека может занять пропасть времени, не говоря уже о том, чтобы пояснить какой-то термин или помочь разобраться в сложном моменте.
Однако если все поставить и настроить, что у спеца обычно занимает меньше часа, и быть доступным по скайпу или в двух шагах на протяжении нескольких месяцев, обучение проходит очень гладко.

Java не бери. В современном аутсорсном программировании сам язык 2-5%, все остальное — что-то другое. Как в задаче коммивояжера путь строится от конца, для начала пойми куда ты хочешь попасть и оттуда строй себе путь к точке где ты находишься сейчас.

Тоже Qa. Автоматизацию учил на Java. Когда задумался о разработке то сразу знал, что хочу только веб. Начались муки выбора Php, Java(так как уже была хоть какая-то база, и в принципе язык нравится) или Python. Сделал маленький домашний проект на Django. И вопросы сами отпали. Не знаю, найду ли работу на Django, но сейчас уже планирую более большой и сложный проект на нем.

Java был и остается любимым языком. Но для веба я выбрал Django.

Python це сучасний PHP.

Це як?

,kzm,
сколько можно клонировать эти топики?
1. Поиском по форуму пользоваться умеешь?
2. Как можно пересытиться QA в 25? Начни автоматизировать, смотреть код, разбираться в том что ты вообще тестируешь
3. Если просто QA не по душе, выучи то что по душе. Здесь никто вместо тебя ничего не сможет решить. Этим комментом тоже можешь подтереться. Или ты не ожидал что тебе скажут «без разницы какой язык учить»?

сколько можно клонировать эти топики?

Пока каждый топик собирает по +100 комментов будут продолжать клонировать. Это же еще один лишний повод поспорить о языках программирования.

Это же еще один лишний повод поспорить о языках программирования

С++ Г0ВН0,
C# - ГОРАЗДО ЛУЧШЕ !
— Ну чё, налетай на меня, злой «приплюснутый» человек :)

та ладно (let the srach begins)
ниправда ниразу)))

Главное, в ТА не задержаться при этом. У меня нет примеров даже уже мидл ТА, перешедшего в разработку без потери в зарплате. Чем больше опыта ТА, тем больше потеряет человек при переходе, потому что с опытом у ТА больше нужны навыки тестирования, а не разработки.
Короче, непонятно, зачем нужно это промежуточное звено нужно. Хочет в чистую разработку — пусть идет. ТА будет тратой времени.

Вот когда осознаешь

я бы заменил на когда нагуглишь. А то как-то сильновато по оптимизации циклов новичков дрючить — не ?

А каким тегом ты текст выделяешь?
UPD: дошло, code

Нет. Конечно, на компилер каждый раз думаешь, но за 10 лет 2-3 раза видел с ним проблемы, и то в экзотических ситуациях и с редкими компилерами. Обычно натыкаешься на свои собственные грабли, или незнание как библиотека работает.

Ничего, поэтому верю, что на большинстве платформ и версий будет нормально работать. Если обновление компилера меняет поведение программ, которые им компилят, сыпятся автотесты и компилер быстренько фиксят. Или им перестают пользоваться.

Дебаггер найдет цикл за 3 минуты, как только будет сценарий зависания.
В жизни такого не видел, поэтому считаю ситуацию из серии «метеоритом по голове попало».
Даже если попало, фиксится случайными изменениями кода. На проекте для 16-битного DSP народ так и делал. Но такая платформа — экзотика, и компилер неоттесчен.

Это для опытного приплюснутого, а для новичка — это совсем не 3 минуты, а много дней.

Что, так сложно запустить под эклипсом, остановить поток и посмотреть стек? Это надо делать еще на уровне пет-проекта, а не на работе за деньги.

Это ты про GCC?

Нет, про DSP и про соляру, где видел реальные проблемы компилеров. Больше нигде не видел.

Эт че, на восьмибитке? А там 300 не порежет?

Бага. -o3 нормально работало раньше.

При разыменовывании 0 большая часть систем падает через SIGSEGV. Если откастить 0 к инстансу класса и вызвать у него виртуальный метод — скорее всего получишь SIGILL так как оффсет метода в таблице виртуальных методов уводит адрес обращения от 0.

Вообще — это все экзотика, такие грабли собираются на практике первые 5 лет, затем их знаешь на память. Если бы С и С++ были сложными — их никто бы не учил, и все писали бы на ассемблере.

При разыменовывании 0 большая часть систем падает через SIGSEGV

А в кернеле был офигенный баг/сплоит. Из-за того что не падало и из-за того, что гцц проверки убирал

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

Сколько коммитов в кернеле? А вляпался один. И опыт не помог.
Это все равно что «не ходи на улицу, там террористы бывают»

А ты считаешь, фриварный код только пенсионеры пишут? Ошибаешься, в основном джуны и пишут. А потом бросают. Правильно это или нет, но так мир устроен.

Вы в упор не замечаете что «вайти» ещё не этим парится... Какая разница сколько факов вы тут приведёте как опытный разраб — человеку на это ещё рано смотреть имхо

Это предупреждение сработает в 0.1% случаев. В 99.9% не надо заморачиваться.

Боюсь, что в джаве куда больше граблей с совместимостью версий библиотек (типа DLL hell), во фронтенде — с браузерами, в бекенде — с базами данных и сетью. С и С++ как раз самые предсказуемые.

Не видел пока.

Дык вы ж и о хорошем предупредите :) Вот у меня знакомый плюсовик на 7к в Киеве живёт — неплохо — да?

Я не о спорах. Я о всесторонней подаче информации. Я не думаю, что ТС интересовался лично вашими предпочтениями или моими. Ему интереснее всесторонняя подача. Что знал о плюсах в Киеве — написал. Пусть сам решает, нравится или нет.

Здраво, вопросов нет. Помните тот анекдот про медведя, который «Главное не боятся!» :)

Какие-то внезапные приколы можно в любом языке найти и написать «вот тут такие адские приколы, лучше иди в другой язык». За пример с циклом спасибо, кстати, я с таким не сталкивалось, оказалось интересно.

Ну я выбрала плюсы как раз из-за этого секса с ними, так что не надо меня запугивать :)

А как же всем нравится кастовать с С стиле

— дураки везде найдутся, в любом языке, везде устроят ад. Но я согласна, что в плюсах отстрелить себе ногу элементарно. И я делаю это с радостью и учусь на количестве отстреленных ног! :)

Так говоришь будто что-то плохое)

Зато какие классные истории! Вот, например, когда под дебаггером креш через SIGSEGV, при этом функции на стеке видно, а локальные переменные в половине функций на стеке посмотреть нельзя — дебаггер говорит, что память недоступна.

Дураки те, кто отказываются признавать свои ошибки и исправлять их. А напороться на грабли может каждый.

Я тоже мемсетил, потом 2 часа сам мучался, позвал начальника. Тот глянул, говорит «мемсет»?. Потерял пол-дня, запомнил надолго. И что, пол-дня это такая проблема? Вот последние грабли мы пол-года отлавливали. И ничего.

Выравнивание там же в первый год работы видели. Типа пишем данные в буфер через мемкопи, пытаемся читать — чет не то. Еще раз пишем. Еще пытаемся читать — не то. Смотрим под дебаггером — то. Печатаем под дебаггером — не то. Потом через пол-часа кто-то из нас вспомнил это странное слово «выравнивание». Начали гуглить. Посмотрели — оно.

Второй раз на той же работе через пару лет у соседей было — они до того на ДСП работали, и кто-то взял подработку чето-там отпортить на арм. А оно харжварно бутается в какой-то функции. Ему меньше повезло — день промучался. Потом начал смотреть выравнивание. Оказалось, что в арме есть флаг, который либо бутает если указатель не выровнян, либо игнорит.

gcc version 6.3.0 20170406

Ассемблерный выхлоп покажите

С такими большими массивами надо быть осторожным. На мелких не играет роли.

Там ничего не понятно

Линки побились

Signed integer overflow — это UB

Это можно исправить большим кол-во ворнингов. Также еще нужно выучить разницу между size_t и int и ptrdiff_t

Стандарт расчитан на максимальную скорость на 100500 разных экзотических платформ. Ограничения могут покоцать скорость.

В 99.9% компилер работает. 999 счастливых прогеров, выпустивших релиз в срок, оправдывают одного не выпустившего в срок.

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

Чтобы оптимизировать по скорости вручную очень желателен профайлер, а он не везде портирован.

Вот когда осознаешь, что здесь бесконечный цикл может быть, тогда тебе в с++.

Посмотрел на StackOwerflow правильное решение: Там требуют сжечь автора «оптимизации» на костре. Шутки шутками, но это серьёзный повод для реального уголовного дела. С выплатой миллионного штрафа и запретом пожизненным программировать что-либо для других программистов.

Как можно оптимизировать «undefined behavior», то есть когда на этапе компиляции неизвестно что будет происходить?

Второй вопрос — а сху яли здесь неизвестное поведение? Тоже мне, святой грааль, автор компилятора не знает что дргуой автор написал компилятору для целочисленного переполнения? Процессор сцуко знает что делать при переполнении, это чучело — не знает, зато лезет оптимизировать.

«Реанімаційний пакет реформ» для Самипомогите часом не он писал? Там тоже по ходу бесконечный цикл.

Муки вибору мене шматували два роки тому. Було тоді майже 29 років. Пробував WEB. JS ніасіліл і CSS моя головна біль. Нема чуйки прекрасного
ІТ-мудреці кажуть Python досить легкий для вайті-в-айті. На Курсері знайшов розрекламований курс Мічіганського Універу. Через кілька уроків наткнувся на помилку, яка ввела в ступор. Роблю як написано, а не працює. Звісно досвіду тоді зеро і я забив. Вже була думка, що не холопська то справа код девелопувати.
Але через кілька днів я зібрався з думками і вирішив дати бій своїй ліні, виникаючим помилкам і таки змусити консоль видати мій довгоочікуваний «Hello World».
Я поняття не мав, що хочу розробляти в майбутньому. Хотілось щось універсальне, ібо ЯП — цель, а нє срєдство.
Маючи на руках Андроїд, вирішив спробувати всюдисущу Java і спробувати щось склепати для телефону.
З того часу на мене посипалися Java, Android SDK, XML, JSON, Servlets, Maven, Gradle, Git, GitHub, over 9000 different libraries, etc.
Скажу точно, що не пошкодував. Тепер є бачення, чим я хочу займатися далі. А головне, тільки строго типізована Java дозволила повкладати в голові більш-менш як користуватися тим всім добром. JS в цьому випадку адове зло. Саме Java допомогла трохи вкурити той ЖабаСкрипт.
То особисто мій шлях вайті-в-айті.

Мій тобі рецепт: придумай свій pet-project, вибери для нього стек технологій і починай реалізовувати. Гарантую страшний говнокод, але це дозволить тобі розчехлити ЯП, гуглінг, варіанти розв’язання проблем, яких знань/навичок не вистачає і т.д.

Успіхів!

В далёком будущем — можно переключиться на любой язык, была бы задача интересной.
В ближайшей перспективе — надо исходить из того что интересно и за что платят.
JavaScript — веб и платят.
Java — энтерпрайз и платят.
C# - энтерпрайз и юнити и платят.
С++ — только для упоротых (без обид, 10 лет опыта, сам такой был)

Ну и математику — нет причин не почитывать. В 20+ лет школьную программу можно пройти за пару дней/недель и убедиться что там была ерунда, на самом деле. А потом взять ВУЗовский учебник и изгонять из себя гуманитария :)

Жаль уже редактировать нельзя.
...
Java — энтерпрайз и андроид и платят.
...

Сейчас такое время, что знать одного языка недостаточно, имхо. Иначе не поспеешь за поездом.
Более того, опытному программисту неважно, на каком языке писать: стоит ему лишь почитать немного про синтаксис, как можно начинать с ним работать.
Я это к тому, что неважно, какой ты выберешь язык. Он все равно не будет твоим единственным, если ты продолжишь развиваться как программист.

Задай себе вопрос по-другому: что я хочу, для начала, сделать? Исходя из этого, выбирай язык.
Хочешь веб приложение? Попробуй начать с JS.
Что-то из софта под Windows? Попробуй C# (или Qt, но там C++, зато не только Windows)
Под андроид? Бери Java или Kotlin.
Под iOS? Swift (или Objective-C, если нравится синтаксис)
С игр не начинай, имхо. Писать грамотно игры — это значит разбираться в лоу-левел вещах, а-ля GL или D3D, понимать работу видеокарты и как вообще устроен графический пайплайн. На изучение этого ты потратишь 5+ лет. Со своими знаниями ты сможешь писать только скрипты в существующих движках, а это будет только отуплять тебя как программиста.

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

Ну а потом ты сам поймешь что тебе надо, чего хочется и на каком языке тебе комфортнее кодить. Сейчас об этом сильно не думай, просто пиши код.

js для начала, так как он надо будет все равно.. А там определишься..

Хотя тебе прямой пусть в автотестеры.

строго говоря, я уже в нем, QA, но пресытился

Эт ж как Вы, батенька, умудрились пересытиться QA, не зная программирования ( читаем: тестируя что-то , не понимая как оно работает)?

А вообщем то спасибо, если бы не Вы, инженеры по качеству не так высоко ценились бы )

Потому что я лок куа :) Неверно подобрал слово, не пресытился, просто не хочу в этом направлении двигаться.

Вообще-то, если знаешь, как оно работает, то нормально не потестишь. Для этого тестировщики и есть. И если знаешь, как оно работает, то сам можешь такое писать, и зарабатываешь в разы больше.

Вообще-то, если знаешь, как оно работает, то нормально не потестишь.

Агонь)

Для этого тестировщики и есть

Прекрасный ТехЛид )

И если знаешь, как оно работает, то сам можешь такое писать, и зарабатываешь в разы больше.

Серьезно? )

А у вас программисты за собой сами тестят) В ночное время, чтобы успевать фичи пилить)

У нас хорошие разработчики, они все успевают во время рабочего дня)

На повестке JS и С#. Оба популярны и востребованы, под мои цели подходят

Были бы конкретные цели — не было бы этих потуг...

Пошла Машенька по грибы, да по ягоды. Вернулась ни с чем. Потому что надо ставить перед собой конкретные цели ))

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

Нет. Мне неинтересно заниматься тем, чем занимаюсь сейчас, вот главное двигло, и если надо сформулировать как цель — хочу свалить туда, где увлекательнее.
Больше денег, эээ, это очевидная плюха, но вряд ли за легкими деньгами есть смысл идти в эту область.

C# или Джава — нормально, как для 1-го языка.
«плюсы» могут быть сложноваты.
За остальную интернет-хипстерщину ничего не получишь, т.к. будешь конкурировать с индусами за еду.

Иди гуляй, сказочник Мы вам позвоним.

Выбирай C++, лучше всего последний стандарт (C++17) и не слушай деграднутых

Один хрен не осилит. Он же не пробовал сам узнать, пойми. Он же гуманитарий, не гуманитарское это дело — искать.

Он даже верит, что мы поняли что такое ЯП по заголовку. Но мы-то знаем

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

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