LINUX.ORG.RU

php или node.js?

 , , , ,


0

2

Привет. У меня есть вопрос.

Я начал интересоваться программированием с 14 лет, сейчас мне 19. За это время я попробовал практически все известные языки. Но у меня есть одна проблема: я не могу надолго остановиться на чём-то одном. Постоянно метаюсь между технологиями — то ухожу в Node.js, то в Java, то в C#. Сначала хочется строгой статической типизации, потом тянет попробовать что-то другое, это моя очень плохая черта. В итоге получилось так, что больше всего опыта у меня накопилось именно с Node.js (NestJS, Express). Вообще программирование мне искренне нравится. Даже если бы мне дали миллион долларов и сказали, что можно больше никогда не работать, я всё равно продолжал бы заниматься программированием просто потому что мне это интересно. Но сейчас встаёт другой вопрос - заработок. Когда я начал смотреть вакансии на hh, заметил, что предложений по Node.js не так много. Конечно, есть позиции full-stack разработчиков, и я готов двигаться в этом направлении, но всё равно вакансий заметно меньше чем, например, на PHP с Laravel - даже если смотреть именно full-stack.

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

Я живу на Кавказе, где IT-сфера практически не развита. В своём городе я нашёл только одну веб-студию. У них используется стек Flutter, React, а на бэкенде допускаются разные языки: го питон, нода, пхп. Я думаю попробовать устроиться туда хотя бы для получения первого опыта и записи в трудовой. А уже позже рассматривать переезд в Питер или Москву.

И вот мой главный вопрос:стоит ли мне продолжать развиваться исключительно в JavaScript/Node.js, или, пока есть свободное время, лучше подтянуть пхп? Судя по количеству вакансий, язык всё ещё долго будет востребован.

хз зачем, но вот гитхаб: https://github.com/csablk?tab=repositories



Последнее исправление: csablk (всего исправлений: 2)
Ответ на: комментарий от amm

Так можно сказать про любые современные языки: X очень похож на Y. Но это если не углубляться в детали.

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

byko3y ★★★★★
()
Ответ на: комментарий от Chiffchaff

PHP создавался как язык для идиотов, без какой-либо системы вообще. В нём не было продумано ровным счётом ничего. Начиная с того, что невозможно написать поддерживаемый код в виде мешанины из HTML и собственно самого кода.

Ваше высказывание обижает идиотов.

На самом деле Расмус высказывался много раз по этому поводу — PHP вообще не создавался как ЯП общего назначения, это был DSL для кастомизации домашней странички, в первых версиях PHP функциональность домашней странички буквально была приколочена гвоздями к реализации, а PHP был по сути шаблонизатором. Всё, чем стал PHP позже — это продукт творчества сообщества.

Начиная с того, что невозможно написать поддерживаемый код в виде мешанины из HTML и собственно самого кода. Уже это было колоссальной ошибкой авторов.

И тогда внезапно становится ясно, что поскольку сам PHP был языком шаблонов, то логика реализовывалась отдельно на Си — и описываемой тобой проблемы не возникало. Ещё раз напоминая тезис из моей последней статьи — сообщество не способно создавать хороший софт:
https://bykozy.me/blog/attention-economics-and-software-engineering/
В самой оптимистичной оценке 1 из 20 способен принимать решения, и если этих людей не изолировать от остальных 19, то проект неизбежно скатится в говно.

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

Конечно, подобное тянется к подобному, но нужно понимать, что выбор инструментов для быстрого прототипирования вебсайтов в конце 90-х был очень ограничен. Как правило, это либо Perl, либо PHP - вопрос лишь в том, как ты их организовывал. LOR был написана на Java, но писать на Java каждый копеечный вебсайт просто неэффективно.

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

они ещё редактируют файлы прямо на проде, и гордятся этим! Ты здесь ещё прочитаешь об этом, если ещё не

Лисперы хвастаются тем, что запускают отладчик прямо в проде.

Отсутствие перспектив и возможностей двигаться в смежные области. PHP - это только веб-бэкенд. Ни расчёты, ни нейросети, ни GUI, ничто более на нём никто не пишет (и он долгое время не предназначен был).

Во-первых, западное IT в целом на удивление инертно и имеет кучу предубеждений. Ну то есть, грубо говоря, тебя будут спрашивать построение бинарных деревьев в собесе на фронтовую должность. Потому что. И это никуда не делось до сих пор, в 95% вакансий первым пунктом ты встретишь «N лет опыта разработки на языкнейме».

Во-вторых, от того, что ты писал GUI на Qt десять лет, тебя не возьмут в бэкенд разработку. И в ИИ не возьмут. Тебе нужно во-первых получить навык хотя бы какой-то по предметной области, а потом доказать работодателю, что твоя кандидатура заслуживает рассмотрения. Вон, нвидия регулярно ищет разрабов ядер под CUDA, но 99% крестовых разрабов под эту должность не подойдут. Python или JS учится за месяц максимум, но предметная область учится год.

byko3y ★★★★★
()
Ответ на: комментарий от no-such-file

Нет, не придётся, всё уже написано.

Вот написал я код на php, как он станет асинхронным? Смотрю документацию по reactphp и swoole, так там отдельные api, не имеющие ничего общего со стандартным php.

Актуальные будут.

PDO позволяет асинхронно ходить в базу?

Но это не особенно помогает, т.к. кроме ноды «остальные платформы» сосут у пыха по скорости.

Да ты что, вот пацаны-то, которые сидят на «остальных платформах», не знают)

amm ★★
()
Ответ на: комментарий от firkax

Веб сегодня умеют все языки, а тот php, который был сделан для веба, умер вместе с php5.

А вообще я писал расчёты (именно числодробильные) на пхп

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

amm ★★
()
Ответ на: комментарий от amm

Веб сегодня умеют все языки, а тот php, который был сделан для веба, умер вместе с php5.

Веб всегда умели все языки (даже /bin/sh), но пхп специализирован на вебе. Всякие альтернативно одарённые умудряются выдать это за недостаток.

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

Нет, я делал это на чистом пхп. В том числе считал интегралы нативной пхп-арифметикой, тупо циклами вида

for($x=$a; $x<$b; $x+=$step) $res += f($x)*$step;

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

firkax ★★★★★
()

Паутинные (они же вэбщики) программисты не являются настоящими программистами. Между PHP и Node.js выбирай то что больше нравится именно тебе.

wenxuan
()
Ответ на: комментарий от firkax

PHP так то расшифровывается как Personal Home Page :)
эт к вопросу веб-ориентированности.
как винда создавалась как граф.DE к мс-досу.

pfg ★★★★★
()
Ответ на: комментарий от firkax

Веб всегда умели все языки (даже /bin/sh), но пхп специализирован на вебе. Всякие альтернативно одарённые умудряются выдать это за недостаток.

В чем его специализация для веба? То что fpm и модуль для апача из коробки идет? То что он изначально был шаблонизатором переростком?

Нет, я делал это на чистом пхп. В том числе считал интегралы нативной пхп-арифметикой, тупо циклами вида

Гениально) Чё на баше не стал считать?)

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

Не надо мне рассказывать про достоинства и недостатки php, я работал в 2000-х еще с php4, и недавно портировал немаленький проект с php5 на php8) Поэтому понимаю, что есть что: php ниразу не простой и не логичный язык.

Чтобы не нём писать, не надо разбираться в простынях всяких документаций, изучать какие-то библиотеки итд. Просто пишешь сразу код.

Это ошибочное мнение, просто похоже, что ты слаще пыха ничего не пробовал)

amm ★★
()
Ответ на: комментарий от amm

Гениально) Чё на баше не стал считать?)

Ты совсем глупый? Повторю в третий раз: пхп - лучший язык, чтобы написать что-то по-быстрому. Не баш, не питон, не нодежс и прочий бред.

портировал немаленький проект с php5 на php8) Поэтому понимаю, что есть что: php ниразу не простой и не логичный язык.

Нормальный проект на пхп5 скорее всего заработает на пхп8 почти без исправлений. Самая главная проблема - отыскивать последствия register_globals, которое хоть и поддерживалось до пхп 5.3 (вроде), но всё же было сущностью из более старых версий и в чистом пхп5 проекте скорее всего уже не встретилось бы.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Когда вышел пхп 5.3 в котором появился goto, я сказал: ура — пусть все готобоязненные пуканы погорят ))

deep-purple ★★★★★
()
Ответ на: комментарий от firkax

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

Да, если мантру повторять, то для повторяющего она станет истиной.

Нормальный проект на пхп5 скорее всего заработает на пхп8 почти без исправлений.

Ну да, с темой ты явно незнаком. Почитай бюллетени про миграции, какие конструкции языка и какие расширения задепрекейчены. Это достаточно просто найти, что-что, а документация у php действительно одна из самых удобных.

И я жду ответа, как получить асинхронность от pdo? Или твой фейспалм означает, что ты не понял вопроса? :)

amm ★★
()

node.js + ts. Вот связка которую сейчас использую node.js + hono + arktype + kysely, vue.js + quasar. Естественно везде ts.

После связки React + Go, получил удовольствие от разработки. Думаю не буду в дальнейшем использовать react в своих проектах.

Для определенного вида рассмотрел бы Nuxt, но у меня таких задач нет. Мои задачи админки, внутренние инструменты и т.п.

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

anonymous
()
Ответ на: комментарий от amm

Да, если мантру повторять, то для повторяющего она станет истиной.

Она и без повторения истинна.

Ну да, с темой ты явно незнаком. Почитай бюллетени про миграции, какие конструкции языка и какие расширения задепрекейчены. Это достаточно просто найти, что-что, а документация у php действительно одна из самых удобных.

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

И я жду ответа, как получить асинхронность от pdo? Или твой фейспалм означает, что ты не понял вопроса? :)

Фейспалм означает что ты так и не понял что до тебя пытаются донести. В пхп в первую очередь нужна простота, а не асинхронность. PDO, кстати, вообще не нужно, но это другая тема. В проекте на пхп НЕ нужно делать одновременно 1000 запросов в разные места и ждать от них ответ. Впрочем, если тебе нужно прочитать одновременно 1000 переменных из редиса - это можно. Но асинхронности ты и тут не увидишь - ты просто суёшь этот список в функцию и получаешь от неё список ответов. Если тебе нужна реальная асинхронность (а это, очевидно, нагруженный проект в эксплуатации, других причин нет) - пиши нагруженные его части на Си и подключай в пхп расширениями (или, если это допустимо, отдельными сервисами). При этом пхп-обёртку и тяжёлый код могут писать вообще разные люди, первые специализируются на вебе, вторые на высоких нагрузках.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

Она и без повторения истинна.

Главное – верить)

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

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

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

Да? А как в базу ходить?

В проекте на пхп НЕ нужно делать одновременно 1000 запросов в разные места и ждать от них ответ.

И это говорит человек, который писал на php числодробилки :) Ты видимо не понимаешь, что такое современный веб и почему ему нужна асинхронность.

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

А можно я не буду для решения подобных задач си использовать? В своё время это был мой основной язык, больше не хочу)

amm ★★
()
Ответ на: комментарий от amm

Вот написал я код на php, как он станет асинхронным?

Никак, нужно изначально писать асинхронный код. А что где-то не так? Но если очень хочется минимум телодвижений то корутины Swoole спасут отца мировой асинхронщины.

PDO позволяет асинхронно ходить в базу?

В swoole при использовании нативных пыховских драйверов – да. Но непонятно зачем использовать изначально синхронный PDO вместо существующих асинхронных библиотек.

пацаны-то, которые сидят на «остальных платформах», не знают)

Не надо проецировать собственные комплексы на других.

не имеющие ничего общего со стандартным php

Ты не знаешь php просто. И пытаешься со своих нубских позиций о чем-то рассуждать.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

А что где-то не так?

Представь себе.

Swoole

https://github.com/swoole/swoole-src#concurrency Извини, но это не идиоматический код на php, это попытка повторить go.

В swoole при использовании нативных пыховских драйверов – да.

Любых драйверов или только тех, для которых авторы swoole поддержку написали?

Не надо проецировать собственные комплексы на других.

Комплексы обычно у тех, кто за границы своего языка заглянуть не могут.

Ты не знаешь php просто. И пытаешься со своих нубских позиций о чем-то рассуждать.

У тебя слишком узкий кругозор, чтобы так рассуждать.

amm ★★
()
Ответ на: комментарий от wenxuan

Так сайтики или веб? Хотя бы чтобы меньше ресурсов тратить на обработку каждого соединения. Зачем асинхронность в nginx, для тебя тоже является загадкой?

amm ★★
()
Последнее исправление: amm (всего исправлений: 1)
Ответ на: комментарий от pihter

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

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

просто впервые встречаю того, кто отзывается о пхп не негативно.

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

pihter ★★★★★
()
Ответ на: комментарий от pihter

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

LightDiver ★★★★★
()
Ответ на: комментарий от no-such-file

🤡🤡🤡

Ты очень веселый пхпшник, обычно они смурные ребята :)

Любых нативных, да.

Да ладно, это тогда что такое? https://github.com/swoole/swoole-src/tree/master/ext-src

amm ★★
()
Последнее исправление: amm (всего исправлений: 1)

Пока еще молодой - учи концепции разные, основы, информатику. И лисп. Потом для тебя всё будет на ладони.

Советов вкрячиваться сейчас в какой-то конкретный стек, в веб там какой-нибудь - не слушай.

lovesan ★★☆
()

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

В новостных лентах недавно писали, что Яндекс собирался нанимать рекордное количество стажеров. У всех «бигтехов» есть программы стажировки. Работу найти можно, главное - искать.

Вообще программирование мне искренне нравится.

Вот так и надо говорить на собеседованиях :)

Однако, давайте представим, что вам, уважаемый, уже не 19 и на хлеб с маслом хватает. Вернитесь к этому вопросу после N трудовых лет в российских «бигтехах» (или не очень бигтехах) полных «промышленного программирования», «бизнес-требований» и бесконечных совещаний.

Желаю удачи вам в поисках, всё посильно! И следуйте совету тов. @lovesan’а на тот случай, если Яндекс окажется не тем райских местом, которое вы себе представляли. Я вот следую :)

dmaj
()

Весь тред не читал, поэтому не уверен, что этот аспект был проговорен. JS, а в особенности node.js — это рассадник IT-рака. Не знаю за Кавказ, но в Европе и США миллионы неквалифицированных JS-программистов, готовых работать за еду. И тебе предстоит с ними конкурировать. Многие работодатели соответствуют — выбирают из сортов говна да подешевле. Я думаю, на JS можно выходить уже будучи очень крепким сеньором, когда тебя будут нанимать не за знание технического стека, а за опыт в определенных областях.

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

anonymous
()
Ответ на: комментарий от amm

Хм, я как-то не заметил этот ответ 2 недели назад. Ну, можно и продолжить.

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

Нормальным языком он стал в 4-5 версии, дальше из улучшений были в основном увеличения производительности и фиксы мелких проблем типа неконсистентного поведения substr в зависимости от того, пустую он строку возвращает или не пустую. Если ты про внедрение всякого ООП-задротства, каргокультированного из джавы, то это, наоборот, жирный минус для пхп, но, благо, пользоваться им не заставляют. А вот читать ооп-задротский скопипащеный из джава-фреймворков код ещё печальнее, чем читать sql-инъекции из времён пхп3-4. Впрочем, даже с использованием ООП можно писать вполне пристойно, если не увлекаться догмами ООПистов.

Да? А как в базу ходить?

mysql{i}_query(). Принцип простоты тот же: хочешь сделать запрос - пишешь запрос, прямо тут. Можно навесить поверх функцию для извлечения конкретного типа строки из конкретной таблицы, например get_user_by_id() и get_user_by_name() в которых внутри селекты, во второй с экранированием имени. Ничего более толстого или более абстрактного не надо - это только усложняет и засоряет код и работает против главной фичи пхп.

И это говорит человек, который писал на php числодробилки

Я, по-моему, уточнил, что то был по-сути прототип, который развивался параллельно с «разработкой»(выводом) нужных математических формул на бумажке. А «прод» был уже на Си.

Ты видимо не понимаешь, что такое современный веб и почему ему нужна асинхронность.

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

Другая сторона веба - гиганты, и для них, разумеется, пхп не подходит (я нигде не говорил что он подходит им). Им желательно писать код на Си или может быть С++. Всякие питоны-жс опять мимо.

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

Лично ты можешь писать на чём хочешь, я описываю на чём это будет разумно делать.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Если ты про внедрение всякого ООП-задротства

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

хочешь сделать запрос - пишешь запрос, прямо тут. Можно навесить поверх функцию для извлечения конкретного типа строки из конкретной таблицы, например get_user_by_id() и get_user_by_name()

Так пишем прямо тут или на каждый запрос функцию делаем? Так ты и до репозиториев додумаешься)

во второй с экранированием имени

Экранирование это тоже тяжелое наследие прошлого) Используй bind переменные, как во всех нормальных api)

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

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

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

Разумно писать веб на Си? Серьезно? На дворе 2026)

amm ★★
()
Ответ на: комментарий от amm

рантайм

Рантайм (run time) - это время, за которое выполняется программа (например программа /usr/bin/time его измеряет). В каком-то другом смысле это словосочетание используют только не особо разумные личности. Убирать пробел - тоже сомнительно, но допустимо, но смысл от этого не меняется. Вобщем, не делай так.

как по скорости, так и по потреблению памяти

Я про это писал - оптимизировали работу.

добавили опциональную типизацию

Опциональную - не вредно, изредка даже полезно, но в целом это несущественная штука. Если тебе нужна типизация - пиши на другом языке, всё верно, но это не повод осуждать пхп.

задепрекейтили кучу разного шлака

Сомнительное заявление. Депрекейт всяких magic_quotes и register_globals случился ещё в php5, а дальше вроде как нечего депрекейтить. Помню вредительство - убрали ext-mysql под нелепым предлогом, испортив совместимость с кучей существующего кода почём зря, впрочем добавить в ряде мест букву i конечно не сильно сложно, но где-то ещё и порядок аргументов другой.

Так пишем прямо тут или на каждый запрос функцию делаем? Так ты и до репозиториев додумаешься)

Не «на каждый запрос», а на часто нужные. Эти функции тут не в целях слоя абстракции (опять ООП пытается пролезть) а в целях уменьшить количество букв в коде (вызов функции короче чем запрос). Если запрос нужен разово, функцию для него делать не следует.

Экранирование это тоже тяжелое наследие прошлого) Используй bind переменные, как во всех нормальных api)

Экранирование это способ «написать запрос по месту», без логических усложнений. Предподготовленные запросы итд - слишком сложно для скриптоязыка. Должна быть возможность (в целях отладки или логирования) тупо сделать echo всего запроса в stdout без дополнительной возни. Если это сделать нельзя - значит ты накрутил сложностей.

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

Нет, деплой тут ни при чём. Сходу лень придумывать нормальный пример, придумаю не совсем нормальный, но отражающий суть. У тебя есть система авторизации и ты хочешь захардкодить в ней бан какого-то юзера. Находишь место, где в переменной $username вроде бы имя юзера, пишешь:

if($username==='bad_user') { echo "go away"; exit; }
и всё. Ты НЕ разбираешься ни в особенностях парсинга запроса, ни в том куда тебе писать ответ, ни в устройстве кода движка, просто: выведи посылание нафиг и завершись. Всё максимально лаконично и просто.

Разумно писать веб на Си? Серьезно? На дворе 2026)

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

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Извини, но я это даже комментировать не хочу. Что не фраза, то фейспалм, а лицо у меня не железное.

amm ★★
()
Ответ на: комментарий от firkax

Ты хоть логикой и не владеешь, но посмотри: все реакции относятся к тому, кто эту реакцию ставит, и клоун не исключение.

amm ★★
()
Ответ на: комментарий от amm

Например FoxPro не гэ. В JavaScript чуть ли не через строчку вложенные функции во вложенных функциях, функции которые передаются из одних функций в другие функции, async понаствлено. Простое переименование файла в Node.js выглядит как какой–то страх

// Rename the file 
fs.rename('hello.txt', 'geeks.txt',
    (error) => {
        if (error) {
            console.log(error);
        }
        else {
            // List all the filenames after renaming 
            getCurrentFilenames();
        }
    });

И столько усилий было затрачено на причёсывание JavaScript и создания всего того что вокруг него и на нём создано будто ничего лучше не было.

И эти байки о чуде асинхронности с которой конечно же всё объязательно будет очень быстро. Это так важно для типичного сайта.

wenxuan
()
Ответ на: комментарий от wenxuan

Например FoxPro не гэ

Так это не язык общего назначения, да и мертво оно давно.

Простое переименование файла в Node.js выглядит как какой–то страх

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

И эти байки о чуде асинхронности с которой конечно же всё объязательно будет очень быстро.

Ещё раз: асинхронность это не про скорость, а про использование ресурсов.

amm ★★
()
Ответ на: комментарий от Chiffchaff

Сейчас совсем другая ситуация. Я бы подстраховался корочками сварщика или сантехника - там ИИ ещё ничем не угрожает.

Молодец, отговаривай молодежь, конкурентов в старости меньше будет.

Tigger ★★★★★
()
Ответ на: комментарий от wenxuan

PHP лучше хотя бы потому что в нём нету вездесущей асинхронности как в JavaScript.

Ну так похапэ пишется колхозниками. Они асинхронность никогда не осилят

dynamic_cast
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария