Annual Open Tech Conference - ISsoft Insights 2021. June 19. Learn more.
×Закрыть

Забросили ли вы первый язык?

Часто встречал, что разработчики пишут не на том языке, который учили первый.
Хочу узнать, с какого языка вы начинали, и на каком пишите теперь? Почему перешли?

👍НравитсяПонравилось0
В избранноеВ избранном0
LinkedIn

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

Ще ні, але так, намагаюсь. Намагаюся перейти на Українську.

Странный немного вопрос ИМХО, типа почему вы изменили своему любимаму ВАЗ 2101 и пересели на беху 7-й серии...
Я училссо в середине 80-х на алголе и бейсике. Первую зарплату получил за программы на Фортране-77, потом были чуть-чуть бейсик, Мадлен, PL1, перевод программ с Фортрана на С, базы данных (в основном Clipper и FoxBase), потом С++, снова бейсик, только уже VB6, немного Perl, HTML, PL\SQL , много С++ и XML ... требования рынка в морде лица заказчика, все просто.

Моим первым языком был русский матерный. И рад бы забросить, но при таком окружении native speaker-ов, которые другого не понимают...

Начинал примерно в 91-м на Basic ZX Spectrum. Давно на нем не пишу, так как совершенно не котируется на рынке.

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

Мой первый язык — BASIC Спектрума, он малопригоден для современного программирования :-)
На Турбо Паскале сейчас тоже не пишут, а первый коммерческий, Delphi — пишут, но «нафига так жить?» © ;-)

Это FORTRAN-то?

Первым был спектрумовский Бейсик ради фана еще в 90-ых. Серьезно выучил Smalltalk, а чтобы зарабатывать деньги, перешел на Objective-C, его потомка.

Fortran в інституті, потім PL/1 професійно.
C, Dec Asm, i86 Asm, Pascal, Clipper 5, C++
Тепер Жава ;)

MSX Basic даааавно умер с платформой
Pascal жив только формально
С и С++ меня больше не интерисуют
И тд и тп

Basic, Pascal, Delphi ех, хороші часи були

QBasic, написав навіть на ньому аналог робочого стола віндовс, звісно таке собі, але як для малолітнього хлопця і під IBM 8089 + монітор геркулес, круто вийшло.
Зараз на PHP

Мой первый язык был GW-BASIC. Потом Трупо Паскаль, потом С, потом С++, потом Дельфи, потом С#. Затем PHP, Python, чуть-чуть Java, чуть-чуть Go, где-то года полтора работал с Objective-C, но сейча в итоге пишу на пыхпыхе.

Ну их «язык» не все за язык считают.

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

Именно, это был чистый машинной код. Даже без меток.
Можно ли считать машинный код языком программирования?

Ну вообще наверное можно. Википедия говорит, что можно.

Для меня в то время языки начинались с Бейсика, но откуда это пошло, сказать сложно.
Наверное никто не называл «языком». «Комманды», «программа» — было, «языка» — нет.

Си без плюсов.
на Джаве кормят лучше и мозгу спокойнее.

У меня так получилось что первым языком был С++. Не то что бы забросил, но не пишу на нем почти

Мама подарила мне книжку «Бейсик для детей» ,когда мне было 7 лет.
Компьютера не было- поэтому программировал на бумаге:)
Не использую сейчас, разве что в Excel для макросов..

Паскаль в школе, матлаб, ассемблер в универе — пересел на maya, zbrush, photoshop, 3dcoat, bodypaint.

Basic на ZX Spectrum и на БэКашке
почему не использую, я думаю понятно )

Первыми языками были Focal и Assembler для БК0010. За последние 25 лет предложений по разработке не поступало. Пришлось забросить.

да, у нас были и Focal, кажись БК 0010-10, basic БК 0010-01

Первый язык — MSX-BASIC. Забросил :)

basic для электроники-60, потом TP, Delphi,C последние годы C#/T-SQL

А можно немного более развернуто, что там за "делфи"-нотация была? По их конвенциям ничего криминального увидеть не получилось. Разве что непривычно немного.

весь JS код был написан КАПСОМ и почти весь лежал в строках внутри .php файлов, везде по приложению понатыканы формы, из которых eval-ился php или sql код безо всяких проверок
Разработчики — психические больные люди?
Ну с нашей перспективы эти люди кажутся не очень скилловаными. Но на самом деле, они просто не видели другого кода, живут в своем мирке, в котором eval($_GET) — отличная идея, кастомеры им за это платят, все довольны, все счастливы)
С нашей перпспетивы людоеды в Афирке кажутся нам дикарями, но сами они просто живут в своем мирке, в котором съесть белого толстяка — отличная идея, духи умилостивлены, все довольны, все счастилвы)

Первой начал учить Java, т.к. промониторил количество вакансий и ЗП. На ней пишу и теперь. Не жалею. Но и в сторону Scala поглядываю :)

Pascal на першому курсі! Зараз на javaScript, Паскаль вже давно не актуальний!

Хоть кто то паскаль а не бэйсик. Бэйсик в детстве вообще не понятным был

а я на бейсике никогда даже строчки кода не написал)!

Цікаве запитання .
Нет не забросил.
Пишу на Бейсіку, але іншому, деколи (BCX, B++ Builder), на Паскалі, але іншому, деколи (FreePascal, Delphi).
Незмінним залишається тільки C/C++, xBase, SQL.
Додалися Cobol, Python, C# і все що біля них.

Часто встречал, что разработчики пишут не на том языке, который учили первый.
В бодишопах часто встречал, что разработчики пишут вообще не на том языке, который учили.
А еще бывает, что разработчики вообще не пишут — так саппортят или админят...
А бывает что и пишут, но не разработчики.
Дивные они — украинские бодишопы.

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

Моим первым языком был русский матерный. И рад бы забросить, но при таком окружении native speaker-ов, которые другого не понимают...

Basic(в 3х вариантах), Assembler(в 2х вариантах), Pascal, C\C++, VBA, Visual FoxPro, Algol64, Ada95 — в общем почти все, что появилось до 2000го и не особо актуально сейчас

А что мы считаем первым языком?
Лично у меня.
Первые лабы в школе — QBasic
Первые коммерческие проектики — Deplhi
Первые веб-проекты — PHP
Первый длительный язык на стабильном месте работы — FoxPro
Язык выбирается под ту область, в которой сейчас работаешь и меняется при смене направления работы.

Basic, Паскаль, С, асемблер х86, С++ и забросил писательскую «карьеру» )

Эт как? Были писателем или код перестали писать?

Да как то на пятом году ушел интерес к программированию и со схемотехникой то же не сложилось. Внедрение ПО и бизнес-анализ — моя точка соприкосновения с ИТ.

ну каждому свое! ктот програми пишет, ктото бизнес анализ... у каждого свое любимое дело!

Basic, кроме Миратеха, в то время, Васик никому больше не нужен был :)

работаю уже чуть больше года, пока нет.

Странный немного вопрос ИМХО, типа почему вы изменили своему любимаму ВАЗ 2101 и пересели на беху 7-й серии...
Я училссо в середине 80-х на алголе и бейсике. Первую зарплату получил за программы на Фортране-77, потом были чуть-чуть бейсик, Мадлен, PL1, перевод программ с Фортрана на С, базы данных (в основном Clipper и FoxBase), потом С++, снова бейсик, только уже VB6, немного Perl, HTML, PL\SQL , много С++ и XML ... требования рынка в морде лица заказчика, все просто.

Ну перший — в школі Паскаль. Зрозуміло, що закинув).
А якщо перший, з яким була реальна робота — Java — теж закинув).
Працюю з JS.

На паскале, C, асме под PIC-16F84 давно не пишу.
Если первый коммерческий — то у меня это M(UMPS) — в наших широтах он не очень востребован.

Якщо відраховувати з реально найпершого — то GW-BASIC закинув, якщо ж з першого, який використовував для роботи — то SQL користуюсь й досі :)

Учился на паскале/делфи, пишу на пхп. Перешёл, потому что веб зантересовал, а вскоре и делфи перестал быть актуальным.

Начинал примерно в 91-м на Basic ZX Spectrum. Давно на нем не пишу, так как совершенно не котируется на рынке.

Начинал с Perl, перешёл на Java.
Почему забросил — потому что Perl, к сожалению, утратил свои позиции на рынке.

а я с php перешел на perl :)

Не, в Украине тоже есть продукты на перле, как ни странно :) portaone.com

Видимо, в некроязыках меньше конкуренция и больше платят..

Я на тот момент был полный джун, потому переход усилий больших не требовал, а условия предложили лучше

Начинал с Фортрана и PL/1, затем C и С++, затем Matlab и до сих пор на 2 последних. Да, похоже они уже устаревают и уходят. Сейчас на коне Жаваскрипт.

Дельфи, потому что со временем стал не нужен.

так может на эти 4 вакансии- всего 4 дельфийщика претендуют, а на 182 вакансии ПХП претендует 10000 человек?

У вас чет плохо с математикой.
Еслиб на пхп претендовало 10000 человек — небылоб этих вакансий, а былобы куча нытья на форуме, о том как тяжело работу пхпешником найти, но мы этого не наблюдаем.

Зато если ты «счастливый дельфист» — не понравился ХРке, и все, ты без работы на долго...

Начинал, по хардкору, с C++. На нем не пишу, но могу прочитать код, или поправить если надо, впрочем это мне помогло выучить джаву.

Ностальгия — учился на Basic, Pascal, VBA.
8 лет отработал с ActionScript 3
Сейчас ковыряю JavaScipt, C# и Java

А если не тайна, что вы сейчас пишите на QB?

Начинал с JAVA. сейчас даже рад, что ушёл во фронтенд на js. Перешёл, потому что захотелось заниматься сайтами.

А мне наоборот, расхотелось заниматься сайтами. :-)

Каждому своё) лично я вижу будущее за веб технологиями, поэтому и свалил)

Этой фантазии 100 лет в обед. Что-то будет в вебе, что-то в десктопе. Да, сейчас веб моден, но куча потребностей не реализуется в веде, только в десктопе. Сейчас под давлением моды ломанулись толпы в веб и плодят кучу никому не нужного софта.

Ну, фантазия не фантазия, а я просто выразил свою точку зрения.

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

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

И в джава и в джаваСкрипт много перспектив:)

Ще ні, але так, намагаюсь. Намагаюся перейти на Українську.

PHP -> Python потому, что “Beautiful is better than ugly” :D

Паскаль )). А вот немецкий забываю и тут мне жалко. Только стихи Тило Вольфа (Лакримоза) кажется не сотрутся из памяти никогда:
Noch immer höre ich deine stimme zu mir sprechen
Noch immer spüre ich deine lippen auf meiner
Haut, noch immer brennt in mir dein licht
Noch immer liebe ich dich

респект за Lacrimosa, сам люблю творчество Тило Вольфа)

У самого первым тоже был паскаль (в универе лабораторки на нем делали), но сейчас его наверное начисто забыл ибо после универа заинтересовался вебом и перешел на PHP. Правда посматриваю в сторону питона,nodejs, кложуры и го.

Начинал с BASIC на Спектруме. И чего ж это я его забросил...
Плюс ещё многие начинали с TP, ниже на графиках хорошо видно. Та же ситуация.

А также, какая клавиша и в каком регистре соответствует той или иной команде

Вот ресурс в разы помощнее будет)
тут тысячи игр и приложений под ZX-Spectrum:
viva-games.ru

Сменил JavaEE на Android но саму джаву не забросил

Учил Руби/Рельсы, потом перешел на Джаву, так как вакансий начального уровня было мало и все в каких-то мутных конторах.

начинал учить программирование с C++, перешел на PHP т.к. заинтересовала веб-разработка. потом был C# и параллельно Java, потом пришло понимание что бекенд в веб-разработке крайне унылая вещь, ввиду простоты решаемых задач. после открыл для себя JS, это было куда интереснее, ввиду наличия более менее серьезных задач которые возникают на фронтенде сложных веб-приложений

бекенд в веб-разработке крайне унылая вещь, ввиду простоты решаемых задач
Это потому что вы именно сайтами занимались, если бы попробовали серьезные приложения писать(enterprise, IoT, automotive), то поняли что все не так просто.

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

Ну вот например, представьте что пишете бэкенд для сервиса работающего с движущимися авто, у водителя авто есть мобильный клиент на андройде. Нужно обеспечить двунаправленную коммуникацию, при этом с гарантией доставки сообщений и отслеживать availability этого клиента. Все это в условиях CDMA/3G сети, соответвенно TCP соединение будет рваться постоянно, т.к. заехал в тоннель — порвалось, отъехал подальше и поменялась вышка — порвалось и т.д.
Как вам задача, интересная?

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

как вариант реализации — подписи каждого из пакетов, где подписью может выступать 10 байт, 8 байт это идентификатор, последний байт должен содержать информацию о том сколько пакетов с такой подписью всего будет передано, 9 байт порядковый номер пакета (с возможностью специально значения для 9 байта который будет сигнализировать об отмене операции), и того в пакет мы можем положить еще около 500 байт информации (ограничение связано с минимальной длиной IP пакета), и всего за одну логическую передачу около 120 КБ, что в принципе не плохо.
каждая из сторон должна аккумулировать пакеты, и высылать периодически ответы о том сколько принято пакетов, и какие еще необходимо получить до тех пор, пока не соберет все из транзакции, или не получит пакет с отменой передачи.

в целом системы будет взаимодействовать асинхронно.

логически этот транспортный слой не очень сложная штука

UDP, так как он более простой, соответственно быстрее установится соединение, и быстрее уйдет пакет. реализация гарантированной доставки должно осуществится на более высоком уровне.
TCP довольно быстро устанавливает соединение, 3 хендшейка это очень мало в байтах. По сути вы экономите несколько мс, но при этом нужно будет самим разработать и поддерживать гарантию доставки. То есть вы предлагаете реализовать недо-TCP поверх UDP. Тут ведь проблема в нестабильности сети, а не ее скорости(она достаточно быстраяё)
каждая из сторон должна аккумулировать пакеты, и высылать периодически ответы о том сколько принято пакетов, и какие еще необходимо получить до тех пор, пока не соберет все из транзакции, или не получит пакет с отменой передачи.
в целом системы будет взаимодействовать асинхронно.
Опять таки, вы забыли про то как обеспечить гарантию доставки сообщения ( т.е. их персистентность), сжатие данных и прочее.

Кроме того, нужно на бекэнде сделать еще и удобный API. Лично я делал его на основе RxJava, где мы обсервили сообщения от клиентов и можно было мультиплексить сообщения на много подписчиков.

Так шо, ваши заявления про то, что на бекенде все скучно неверны)

TCP довольно быстро устанавливает соединение, 3 хендшейка это очень мало в байтах. По сути вы экономите несколько мс
извиняюсь, что испрользовал слово «быстро», 3 хендшейка — достаточно для обрыва. если мы говорим о нестабильной сети то в идеале — один пакет должен передаватся без дополнительных хендшейков.
недо-TCP поверх UDP
вы меня правильно поняли. и именно это и решить вопрос нестабильности и гарантии доставки.
если честно я думал что расписал как гарантировать доставку. давайте чуть детальнее опишу:
надо передать информацию рамером 2500 байт, исходя из вычеслений приведенных постом выше, мне понадобится 5 пакетов (на самом деле думаю их будет меньше, может даже один, но для точного ответа мне надо погуглить насчет длин пакетов, т.к. не помню ограничений)
и так, каждый пакет в начале тела содержит
DIGIT{8} PACKAGE_NUM TOTAL_PACKAGE_COUNT BODY_INFO
DIGIT := 0-255
PACKAGE_NUM := DIGIT
TOTAL_PACKAGE_COUNT := DIGIT
то есть надо отправить 5 пакетов со след заголовками
xxxxxxx05
xxxxxxx15
xxxxxxx25
xxxxxxx35
xxxxxxx45
также возможен, что будет обозначать отмену передачи
xxxxxxx00
каждый пакет будет отправлятся до тех пор пока не получить ответ что он получен, когда клиент получает пакеты, он отправляет отчет
xxxxxxx35 0 2 4
что значит получено 3/5 а точнее 0-ой, 2-ой и 4-ый пакет
наш сервер перестает их слать, и пробует дальше отправлять те пакеты которые не получены. когда клиент получит все пакеты — для передача закончена, и он начинает обрабатывать запрос, но ему надо еще договорится с сервером что все гуд, и он ему шлет
xxxxxxx55 0 1 2 3 4 5
когда сервер получит для него все уже хорошо, и он предпринимает отправить пару раз результат что и у него все гуд
xxxxxxx55
клиент перестанет слать
xxxxxxx55 0 1 2 3 4 5 
по таймауту или получении
xxxxxxx55
сервер перестает слать
xxxxxxx55
по таймауту

дальше это все заварачивается, и для клиентского кода предоставляется следующий интерфейс:

interface ConnectionBridge {
// по сути он будет устраивать pulse усли не будет активной передачи
void open(InetAddress dest);

// останавливает pulse
void close(); 

void send(String method, Serializable data);

void registerReciever(String method, Function<? extends Serializable, Void> reciever);

//возвращает доступность, должно базироватся на механизме pulse
boolean isAvailable();
}

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

Так шо, ваши заявления про то, что на бекенде все скучно неверны)
вы же понимаете что я JS разработчик и потратил намного больше времени на описание подхода, чем понять как его реализовать?
хотя не спорю, это немного лучше чем сделать запрос к БД

Может вместо того, чтоб сразу писать код, стоит взять телефон, запустить на нем прогу, сесть в машину, проехаться по городу, записать логи статуса сети, чтоб понять какую именно проблему нужно решать?

Например, как часто пропадает сеть? Раз в 10 секунд? Раз в минуту? Раз в час?

Сколько данных нужно отправлять от клиента к серверу и обратно?

Если хотите использовать UDP, проанализировать как часто пропадают пакеты, исходя из этого пилить протокол (для случая потери 50% пакетов и 1% пакетов он будет разный)

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

Ну видишь, прикольно же такими вещами заниматься. И конкуренция меньше, т.к. в отличии от фронтенда, чтобы быть нормальным бекендщиком нужно или иметь хорошее CS-образование или хотябы иметь какое-нибудь представление о вещах вроде нетворкинга, баз, многопоточности, алгоритмах.
Просто на PHP бекэнды это на 99% CRUD, вот ты и сбежал в няшный фронтенд.

возможно, но мне не попадались такого рода задачи, была только одна более менее интересная за всю мою карьеру разработчиком, но я ее реализовывал на Node.js, т.к. PHP вообще было бы ужасно.

может быть вы и правы

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

Пехопе это не бакэнд. Так — прослойка для записи в бд. Нормальный бекэнд это джава, сишарп, и прочие тяжеловесы.

ну у меня сча на проекте бекенд на джаве, но по сути все сводится к проксированию запросов к БД или другим сервисам (((

а джава и си-шарп разве не прослойка для записи в бд?) ибо все запросы к базам даннных все равно конвертируются либо в SQL (в случае с реляционными базами данных), либо в JSON (в случае с NoSQL-базами).

да и тяжеловесы свои в пхп тоже есть — симфони или зенд например)

вот что из пхп не относится к бэкэенду так это всякие цмс-ины типа вордпресса и джумлы, основная работа с которыми, как я понимаю, чаще всего сводится к натягиванию сверстаного шаблона на движок и прикручивания jQuery и бутстрапа к этому делу)

а джава и си-шарп разве не прослойка для записи в бд?

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

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

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

Я это под «нормальным бэкэндом» какраз и имел ввиду. То что на рынке очень много «сайтиков», и из бизнес логики там «интеграция с твитором», так это проблема рынка.

вот именно,что это больше проблема рынка — подавляющее большинство php-сайттов написаны на вордпрессе, который жестко привязан к mysql и к которому написаны туева куча плагинов, функционал которых удовлетворяет потребностям владельцев сайтов на вордпрессе.
И многих (в т.ч. и меня) такое положение вещей в пхп-мире вполне устраивает: 1. не надо изобретать велосипед, чтобы сделать блог, интегрируемый с твиттером или фейсбуком (для многих типов веб-сайтов CMS-ин на пыхе вполне хватает), 2. если нужно что-то нестандартное и/или расширяемое — можно взять какой-нить известный/популярный пхп-фреймворк типа ларавел или симфони, 3. если и пхп-фреймворк не удовлетворяет — берется другой язык, который будет полностью удовлетворять необходимым задачам.

т.е. я придерживаюсь точке зрения — если для сайта или веб-приложения вполне хватает возможностей пхп и разработчик его знает на нормальном уровне — зачем брать джаву или си-шарп? (хотя если разработчик лучше знает джаву, то лучше взять джаву)

Кто не в курсе, есть промежуточный по свойствам RDP и RUDP, имеют подтверждение дейтаграмм.

Не троллинга ради, приведите, пожалуйста, пример серьёзной задачи на фронтенде.

Интерфейс Google Docs, например.

В цифрах можно тут посмотреть:
dou.ua/...language-rating-jan-2015

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