Забросили ли вы первый язык?
Часто встречал, что разработчики пишут не на том языке, который учили первый.
Хочу узнать, с какого языка вы начинали, и на каком пишите теперь? Почему перешли?
Часто встречал, что разработчики пишут не на том языке, который учили первый.
Хочу узнать, с какого языка вы начинали, и на каком пишите теперь? Почему перешли?
Ще ні, але так, намагаюсь. Намагаюся перейти на Українську.
Странный немного вопрос ИМХО, типа почему вы изменили своему любимаму ВАЗ 2101 и пересели на беху
Я училссо в середине
Моим первым языком был русский матерный. И рад бы забросить, но при таком окружении native speaker-ов, которые другого не понимают...
Начинал примерно в
Мой первый язык — BASIC Спектрума, он малопригоден для современного программирования :-)
На Турбо Паскале сейчас тоже не пишут, а первый коммерческий, Delphi — пишут, но «нафига так жить?» © ;-)
Первым был спектрумовский Бейсик ради фана еще в
-
Fortran в інституті, потім PL/1 професійно.
C, Dec Asm, i86 Asm, Pascal, Clipper 5, C++
Тепер Жава ;)
MSX Basic даааавно умер с платформой
Pascal жив только формально
С и С++ меня больше не интерисуют
И тд и тп
QBasic, написав навіть на ньому аналог робочого стола віндовс, звісно таке собі, але як для малолітнього хлопця і під IBM 8089 + монітор геркулес, круто вийшло.
Зараз на PHP
Мой первый язык был GW-BASIC. Потом Трупо Паскаль, потом С, потом С++, потом Дельфи, потом С#. Затем PHP, Python, чуть-чуть Java, чуть-чуть Go, где-то года полтора работал с Objective-C, но сейча в итоге пишу на пыхпыхе.
-
с чего бы?
Вполне себе язык машинных команд. плюс добавлено много мат. функций. Есть возможность делать подпрограммы. Возможности безусловного и условного переходов. Есть генератор псевдослучайных чисел.
Именно, это был чистый машинной код. Даже без меток.
Можно ли считать машинный код языком программирования?
Ну вообще наверное можно. Википедия говорит, что можно.
Для меня в то время языки начинались с Бейсика, но откуда это пошло, сказать сложно.
Наверное никто не называл «языком». «Комманды», «программа» — было, «языка» — нет.
У меня так получилось что первым языком был С++. Не то что бы забросил, но не пишу на нем почти
Мама подарила мне книжку «Бейсик для детей» ,когда мне было 7 лет.
Компьютера не было- поэтому программировал на бумаге:)
Не использую сейчас, разве что в Excel для макросов..
Первыми языками были Focal и Assembler для БК0010. За последние 25 лет предложений по разработке не поступало. Пришлось забросить.
А можно немного более развернуто, что там за "делфи"-нотация была? По их конвенциям ничего криминального увидеть не получилось. Разве что непривычно немного.
-
весь 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
Язык выбирается под ту область, в которой сейчас работаешь и меняется при смене направления работы.
Да как то на пятом году ушел интерес к программированию и со схемотехникой то же не сложилось. Внедрение ПО и бизнес-анализ — моя точка соприкосновения с ИТ.
ну каждому свое! ктот програми пишет, ктото бизнес анализ... у каждого свое любимое дело!
Странный немного вопрос ИМХО, типа почему вы изменили своему любимаму ВАЗ 2101 и пересели на беху
Я училссо в середине
Ну перший — в школі Паскаль. Зрозуміло, що закинув).
А якщо перший, з яким була реальна робота — Java — теж закинув).
Працюю з JS.
На паскале, C, асме под PIC-16F84 давно не пишу.
Если первый коммерческий — то у меня это M(UMPS) — в наших широтах он не очень востребован.
Якщо відраховувати з реально найпершого — то GW-BASIC закинув, якщо ж з першого, який використовував для роботи — то SQL користуюсь й досі :)
Учился на паскале/делфи, пишу на пхп. Перешёл, потому что веб зантересовал, а вскоре и делфи перестал быть актуальным.
Начинал примерно в
Начинал с Perl, перешёл на Java.
Почему забросил — потому что Perl, к сожалению, утратил свои позиции на рынке.
это не “на коне”,
а сравнивать нужно
jobs.dou.ua/vacancies/?search=delphi
и например,
jobs.dou.ua/vacancies/?search=php
так может на эти 4 вакансии- всего 4 дельфийщика претендуют, а на 182 вакансии ПХП претендует 10000 человек?
У вас чет плохо с математикой.
Еслиб на пхп претендовало 10000 человек — небылоб этих вакансий, а былобы куча нытья на форуме, о том как тяжело работу пхпешником найти, но мы этого не наблюдаем.
Зато если ты «счастливый дельфист» — не понравился ХРке, и все, ты без работы на долго...
Начинал, по хардкору, с C++. На нем не пишу, но могу прочитать код, или поправить если надо, впрочем это мне помогло выучить джаву.
Ностальгия — учился на Basic, Pascal, VBA.
8 лет отработал с ActionScript 3
Сейчас ковыряю JavaScipt, C# и Java
Начинал с JAVA. сейчас даже рад, что ушёл во фронтенд на js. Перешёл, потому что захотелось заниматься сайтами.
Каждому своё) лично я вижу будущее за веб технологиями, поэтому и свалил)
Сейчас под давлением моды ломанулись толпы в веб и плодят кучу никому не нужного софта.да нет, мода на веб подотошла, сейчас это с мабайлом происходит, на самом деле.
Воистину, все люди разные. Меня, например, бросает в дрожь от одной мысли, что может возникнуть необходимость всерьез что-то писать на этом в таком окружении.
Паскаль )). А вот немецкий забываю и тут мне жалко. Только стихи Тило Вольфа (Лакримоза) кажется не сотрутся из памяти никогда:
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
начинал учить программирование с 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вы меня правильно поняли. и именно это и решить вопрос нестабильности и гарантии доставки.
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 а точнее
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, имеют подтверждение дейтаграмм.
Не троллинга ради, приведите, пожалуйста, пример серьёзной задачи на фронтенде.
Найкращі коментарі пропустити