{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

Как Counter Strike сделал меня веб-разработчиком и как я открыл свою веб-студию

Я, как и многие подростки, начинал свой путь с компьютерных игр, вернее с видеоигр, тогда еще компьютеры не были настолько популярными. Да, я про те времена, когда мы зависали, играя в приставку SEGA и у нас горели блоки питания от перегрева, кто в теме, тот поймет =)

До стационарника у меня было еще пару приставок, но мы не об этом =), так вот как у меня появился компьютер, я, как и многие, внес огромный вклад в борьбу с террористами в мире Counter Strike, да и именно CS сделала меня Web разработчиком.

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

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

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

Вот так он выглядел =)

Когда я начал создавать табличную сетку, мне пришлось учить HTML, в то время информации было немного. Были популярны форумы, на которых можно было получить хоть какой-то фидбэк. В общем прокачивая свои навыки в HTML, CSS и совсем немного в <del>JS</del> jQuery, я начал понимать, что на конструкторе есть множество ограничений, и мне нужен полноценный сайт — пришло время переходить на хостинг.

В то же время я узнал о существовании CMS и мой выбор пал на Joomla. Установив его на первый попавшийся бесплатный хостинг, с доменом 3-го уровня, я принялся за <del>разработку дизайна</del> поиск подходящего шаблона. Это все доставляло мне куча проблем, а на решение некоторых задач уходили недели, после чего я потихоньку принялся изучать PHP.

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

Это привело меня к SEO. Правда тогда SEO был другим, оплатив арендные ссылки и прописав в мета тег «keywords» всевозможные ключи, сайт мог выйти в топ за очень, очень короткий срок времени. После чего мой знакомый обратился с просьбой разработать ему сайт для предоставления авто услуг. Я без раздумья согласился и выполнил работу в кратчайшие сроки. Как я сдал сайт, за мою работу оплатили, я не был готов к такому и это меня осенило, то есть можно зарабатывать на создании сайта подумал я, и так мое хобби стало приносить деньги.

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

Недолго думая, я бросил учебу

  • открыл свой офис,
  • зарегистрировал ИП,
  • купил кассовый аппарат,
  • заказал печать,
  • открыл счет в банке.

Далее я несколько месяцев болезненно переходил с Joomla на WordPress, переписывая все свои сайты, так как видел в нем больше потенциала.

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

Дизайн моего сайта менялся чуть ли не каждый месяц, так как все время меня что-то в нем не устраивало. И с каждым разом он становился лучше, оцените если не сложно https://init.kz/, это относительно новый сайт, так как сменил название при смене ИП на ТОО.

Были взлеты и падения, хочу расписать больше, но это уже в следующих статьях, подписывайтесь =)

0
360 комментариев
Написать комментарий...
DaemonHK

В школе увлекался всем подряд: музыкой, разработкой игр (по сути, ковырянием игровых движков, типа Blitz3D), а потом увидел html-туториал в файлах WarCraft3...

Здравствуйте, меня зовут Серёжа, мне 35 лет и я пишу на PHP.

Ответить
Развернуть ветку
Сергей Добрицкий

И как нравится? Я про php

Ответить
Развернуть ветку
Денис Демидов

А что не так с php?
Отличный язык, масса библиотек, масса фреймворков, хочешь говнокодь на yii и wordpress, хочешь чтобы все по феншую в стиле java вот тебе symfony.
Для веба у php сейчас альтернатив нет по сути.

Ответить
Развернуть ветку
Sam Beckett
Для веба у php сейчас альтернатив нет по сути.

Да что угодно может быть альтернативой php для веба

Ответить
Развернуть ветку
Денис Демидов

Это "что угодно" точно будет лучше?
Или в духе яндекса, мы используем node, чтобы все учили одно и тоже, хоть бэкендеры, хоть фронтендери?

Ответить
Развернуть ветку
Sam Beckett

По каким метрикам мерить будем?
Хотя нет, давай прям по верхам пройдемся. Напомни, как там у php дела с асинхронностью обстоят?

Ответить
Развернуть ветку
Max Kamashev

Для домашних страничек асинхронность не нужна.

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

А крупные проекты без легаси уже давно переходят на микросервисы и Go.

Ответить
Развернуть ветку
Денис Демидов

При этом на пыхе у них остается часто до 90% кода))))

Ответить
Развернуть ветку
Dmitry Baychapanov

Стоимость разработки? Быстро решение бизнес задач и MVP?

На хабре давно решили, что ЯП давно не бутылочное горлышко.

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Денис Демидов

На том же symfony пишут кровавый энтерпрайс без проблем, включая erp системы

Ответить
Развернуть ветку
Александр

Зачем асинхронность в php? Сгенерили страничку максимально быстро и отдали, всё. Для других задач возможно, но не для этой.

Ответить
Развернуть ветку
Sam Beckett

Современный веб - это давно не "сгенерили страничку". Но да, для сайтов "привет 2004 год" php наверно все еще подходит неплохо

Ответить
Развернуть ветку
Александр

Ну в API эндпоинты работают по тому же принципу. Сделали запрос, отдали json максимально быстро. Хоть у тебя реакт, хоть ангуляр.

Даже сраный сервер сайд реакт не требует асинхронности.

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

А что в вашем понимании «современный веб»?

Ответить
Развернуть ветку
Корректный Интеллект

Не путайте асинхронность и процессовую многопоточность

Ответить
Развернуть ветку
Александр

А я и не путаю. По существу что-то есть, демагог?

Ответить
Развернуть ветку
Корректный Интеллект
Ответить
Развернуть ветку
Александр

Как это касается php?

Ответить
Развернуть ветку
GS

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

Но если вот прям очень хочется:
Сложный подход: сишный экстешн для асинхронности
Легкий (для выгрузок и пр): что-то вроде Symfony message bus и consumer'а по CRON
Оптимальный: микросервис на Go

Ответить
Развернуть ветку
Sam Beckett

Ну ты понимаешь что это все костыли и танцы с бубнами? Бэкенд можно и на ассемблере писать, только вот зачем?

Ответить
Развернуть ветку
Денис Демидов

Затем, чтобы ради небольшого модуля, не тащить новый стек в проект, а то и новых специалистов.

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Kelerius

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

Ответить
Развернуть ветку
Денис Демидов

Чтобы потом сервера на винде поднимать?
Месье знает толк в извращениях....
Для екомерса лучше php сейчас ничего нет, раньше в некоторых вопросах была Java лучше, но сейчас у java нет преимуществ, одни недостатки.

Ответить
Развернуть ветку
Александр Ерёмин

.NET уже давно стал кроссплатформенным)

Ответить
Развернуть ветку
GS

.NET Core настолько кросс-платформенный, что в линуксу тащит за собой виндовые библиотеки, а выполняется через прослойку...

Ответить
Развернуть ветку
Денис Демидов

Ну этим же вроде не сам майкрософт занимается, это как на iphone ставить не ios, можно конечно...

Ответить
Развернуть ветку
Александр Ерёмин

С появлением .NET Core не нужны никакие виндовые сервера.

Ответить
Развернуть ветку
Денис Демидов

Что по поводу этой статьи скажете:
https://habr.com/ru/post/357612/
Не актуально, или мелкософт в своем стиле?

Ответить
Развернуть ветку
Александр Ерёмин

Скажу, что гуглить по запросу "Подводные камни .NET" недостаточно для того чтобы сравнивать .NET Core с пыхой). Неплохо было бы еще прочитать о том, что там написано, а также поисследовать вопрос, а что могло измениться с моменты публикации статьи в 2015 году)))

Ответить
Развернуть ветку
Денис Демидов

Не очень понятно, чем net лучше пыхи, чтобы связываться с мелкософтом?
Зато понятно чем хуже - компилятор....

Ответить
Развернуть ветку
Александр Ерёмин

Я и не говорю что .NET лучше PHP. Скорее речь о том, что PHP ни разу не панацея для веба. У компиляторов и интерпретаторов свои наборы плюсов/минусов. Их в принципе некорректно сравнивать между собой

Ответить
Развернуть ветку
Денис Демидов

Какие плюсы у компилятора, если нет выигрыша в скорости?

Ответить
Развернуть ветку
Александр Ерёмин

Я не знаю с чего вы это взяли, что нет выигрыша в скорости. Что и как вы измеряли вы тоже не говорите. Просто набрасываете, не разобравшись. 🤦‍♂️

Ответить
Развернуть ветку
Денис Демидов

Вот вполне годная статья сравнения скорости языков:
https://habr.com/ru/post/563078/
Там пыха не значительно медленнее того же Go, но с учетом того, что от языка зависит не более 5% общей производительности (остальное база и архитектура), то выигрыш от компиляции составит доли процентов, есть ли тогда смысл время тратить на компиляцию?

Ответить
Развернуть ветку
Александр Ерёмин
от языка зависит не более 5% общей производительности (остальное база и архитектура)

Это число вообще непонятно откуда взято. Почему именно 5%, а не 3% или 10%? Каким образом измеряли?

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

Она что, целый день занимает 😂? Собрали билд на ci, задеплоили и забыли до следующего релиза.

Методика тестирования по ссылке на хабре конечно доставляет). Эти тесты не доказывают ровным счетом ничего. И даже тот факт что в этих тестах php проигрывает Java не доказывает что в производственной среде в той или иной ситуации php всегда будет медленнее, чем Java или наоборот. Уж если и проводить оценки, то не просто цикл for погонять, а тестировать различные алгоритмы/операции. Где то может быть выигрыш, а где то наоборот проигрыш.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/php-java.html

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Александр Ерёмин
Когда компилятор был на многие порядки быстрее, то смысл был тратить на него ценнейшее время разработчика, а сейчас это уже пережиток прошлого, по крайней мере в вебе.

CI/CD без участия разработчика все соберет и задеплоит, отчего "ценнейшее" время разработчика не пострадает.

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

Просто ору! 🤣🤣🤣🤣🤣 Вы хоть что-нибудь, кромы пыхи пробовали?

Ответить
Развернуть ветку
Денис Демидов

Не орите, расскажите про количество библиотек для веба на С# и размере сообщества, с удовольствием послушаю.

Ответить
Развернуть ветку
Sam Beckett

Если коротко - огромное

Ответить
Развернуть ветку
Денис Демидов

Но в разы меньше, как бы не на порядки чем у php в вебе

Ответить
Развернуть ветку
Sam Beckett

А нафига тебе 100 библиотек, которые делают одно и то же? в Nuget есть любые модули под любые задачи.

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

Ага. Это как в детстве в тетрисе было - 1000 игр, где все 1000 это обычный тетрис.

Ответить
Развернуть ветку
Денис Демидов

Ну да, два вида пива (пиво есть и пива нет) намного же лучше?

Ответить
Развернуть ветку
Sam Beckett

Лучше когда есть одна библа, которую юзает и поддерживает все коммьюнити, чем 1000 либ, которые поддерживает два инвалида (без негатива к инвалидам). Чтобы когда 500-ая либа вдруг померла, тебе пришлось во всех своих проектах менять 500ю на 501ю, у которой, конечно же, совершенно другое апи.

Ответить
Развернуть ветку
Денис Демидов

Так у пыхи за счет многочисленности комьюнити и таких и таких хватает, но бывает, что у семи нянь дитя без глаза, когда одиночки типа Фабьена Потенси фигачат за десятерых как не в себя.
PHP это 100% трушный опенсорс без компромисов, чего не скажешь о майкрософтской продукте C# который на линуксе работает с костылями как тут писали, считай как был виндовый, так и остался.
Так что не будет у C# такого комьюнити даже теоретически, пыха его переживет 100%.
PS А чтобы не мучиться со сменой библиотеки, читай умные книжки того же Роберта Мартина и не говнокодь, ведь даже мажорная версия может потребовать что-то переписывать.

Ответить
Развернуть ветку
Александр Ерёмин
C# который на линуксе работает с костылями как тут писали, считай как был виндовый, так и остался.

.NET Core прекрасно себя чувствует в Linux-системах.

Так что не будет у C# такого комьюнити даже теоретически, пыха его переживет 100%.

Вы видимо сами не представляете какой кринж сейчас пишите.

Ответить
Развернуть ветку
Денис Демидов

кринж... поколение тикток будет мне что-то про многолетнее комьюнити пыхи говорить против net core, который опенсорсом только в 2016 году стал, ну умора....

Ответить
Развернуть ветку
Sam Beckett

Ты точно троллишь

Ответить
Развернуть ветку
Денис Демидов

Ну какое нехер опенсорс комьюнити у net, когда он только в 2016 году стал оперсорсным, да и то условно, под чуткой опекой майкрософта.

Ответить
Развернуть ветку
Sam Beckett

Чувак, ну ты реально дичь уже несешь. Речь про коммьюнити, которое поддерживает опенсорс-решения в nuget. Да блин, у меня ощущение что я стене объясняю. Надо заканчивать.

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

Вот прямо сейчас на хабре читаю статью, где русским по белому объясняется почему php в чистом виде не подходит для высоких нагрузок. Сходи, почитай и ты https://habr.com/ru/post/647077/

Ответить
Развернуть ветку
Денис Демидов
С точки зрения HTTP API запросов к PHP бекенду - это порядка 13 млн. запросов (в пиковых нагрузках ~300-400 RPS). И это всё (PHP only) обрабатывает сервер с 8 vCPU (ядрами) и 32 Gb RAM и самое главное, что сервер практически не напрягается (см. КДПВ).

У меня примерно такой же сервак работает чисто под AvtoGSM.ru (который имеет посещаемость в десять раз меньше) за 5000 руб. в месяц от reg.ru

Ты уверен, что дефолтный сервак для С# со всеми лицензиями для этих 13 млн. запросов выйдет дешевле?
А разработка аналогичного приложения на C# выйдет по деньгам так же, или раз так в несколько дороже?

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

Концовка статьи для таких могильщиков пыхи как ты:

Для себя я осознал одно: PHP стек закапывать рано. И это я имею ввиду не просто web, а именно в контексте сложных энтерпрайз проектов, которые сейчас так стремятся уйти в модные микросервисы и/или Go (с абсолютно такими же корутинами и производительностью веб-сервера). Поверьте - мы пробовали, в проекте у нас существуют несколько Go микросервисов. Главное, что надо помнить - это соблюдать чистоту кода, не говнокодить, использовать паттерны, современные сторонние решения, DDD, KISS, DRY, YAGNI и куча других страшных слов, поверьте - это не пустые слова и мы в процессе переезда на Swoole в этом не раз убеждались.
Ответить
Развернуть ветку
Sam Beckett

Напомни, какие лицензии нужны для C#?

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

Я в тимлидах сижу, даже статью недавно на эту тему писал тут

Ответить
Развернуть ветку
Денис Демидов

Лицензия на винду? MS SQL?
Или на линуксе будешь запускать?
Насколько я понимаю, на линуксах его запускают редко в серьезных проектах, почему-то...
Не знаешь почему?
PS Ты же аноним? Можешь что угодно написать про себя, как проверить то?

Ответить
Развернуть ветку
Sam Beckett

Ты из 2004 года пишешь, какая лицензия на винду? В докер завернул и раскатал на линуксе. Или без докера, там нативная кроссплатформа без костылей.
MS SQL - зачем? PostgreSQL, MySQL, да хоть монга.

Насколько я понимаю, на линуксах его запускают редко в серьезных проектах

Ты реально ничего не понимаешь, без обид

PS Ты же аноним? Можешь что угодно написать про себя, как проверить то?

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

Ответить
Развернуть ветку
Денис Демидов

Ну так это же получится такой же велосипед, как асинхронный php по твоей ссылке?

Ответить
Развернуть ветку
Sam Beckett

В каком месте это велосипед-то, не пойму? .net поддерживает нативную компиляцию в linux (да хоть в макось) из коробки, без танцев с бубном. БД вообще любую всегда можно было юзать, просто некоторое время назад MSSQL был неким стандартом для энтерпрайза, и многие компании поменьше просто его к себе тащили не разбираясь.
Да что там говорить, даже докер там из коробки в vs поддерживается. Так про какие костыли речь?

Ответить
Развернуть ветку
Денис Демидов

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

А вы никогда не компилили кор проекты под Linux?Судя по расширению dll, а не so - полагаю, что это либы под винду. Сначала подумал что это остатки после предыдущей сборки под винду, но без них проект на линуксе просто не запускался. .NET Core я только побаловался, мигрировав на него пару своих старых проектов на .NET, хотя и следовал майковской доке по миграции. Сложилось впечатление, что .NET под линукс - это compatibility-прослойка наподобии Wine.

гугл выдает статью как чувак в 2019 разворачивает net на линукс так, как будто выходит в открытый космос:
https://habr.com/ru/company/oleg-bunin/blog/448496/
За два года сильно все изменилось?

Ответить
Развернуть ветку
Sam Beckett

В статье речь про .net core 1.x. Сейчас в LTS вышла уже 6-я версия .net, конечно много изменилось!
Все деплоится в линукс двумя нажатиями кнопок.

Ответить
Развернуть ветку
Денис Демидов

Остается вопрос, .net core станет реальным опенсорсом, или когда майкрософту надоест в одно рыло это тянуть, не увидит для себя выгод и прикроет лавочку?
У php таких рисков нет, это по настоящему трушный опенсорс, который динамично развивается усилиями множества мощных игроков уровня фейсбук.

Ответить
Развернуть ветку
Sam Beckett

Да. Или нет. Какая разница? Языки развиваются, умирают и рождаются. И это последнее, на что смотрят при выборе технологии для нового проекта. Системы все равно живут сильно меньше циклов жизни языков, так что нет причины не писать на современном языке, думая о том, что с ним будет через 15 лет

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Александр Ерёмин
.NET Core я только побаловался

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

Ответить
Развернуть ветку
Денис Демидов

Ты ведь и так не баловался, все на докер переложил, верно?
Если человек прав, то с большой вероятностью, С# не даст роста производительности на линуксе даже по сравнению с php ))))))))))))
Так зачем тогда добровольно лезть в лапы мелкософта?

Ответить
Развернуть ветку
Александр Ерёмин
все на докер переложил

А что собственно плохого в использовании контейнеров?

Если человек прав, то с большой вероятностью, С# не даст роста производительности на линуксе даже по сравнению с php ))))))))))))

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

Так зачем тогда добровольно лезть в лапы мелкософта?

Если бы вы сами сравнили лицензии MIT и PHP License на предмет того, где больше ограничений и в чем они выражены, то всякую чушь про какие то "лапы мелкософта" не писали бы 🤦‍♂️

Ответить
Развернуть ветку
Денис Демидов

Дядя ты дурак? (с)
Причем тут типы лицензий и тот факт, что .net псевдоопенсорс, который чуть менее чем полностью тянет лишь майкрософт?

Ответить
Развернуть ветку
Александр Ерёмин
Дядя ты дурак? (с)

Расслабьтесь, вы просто некомпетентны)

Ответить
Развернуть ветку
Денис Демидов

Ну давай, расскажи мне, как тип лицензии кому-то помешал пыху использовать, а потом как корпорации убивали продукты щелчком пальцев, как тот же Silverlight просто перестали поддерживать.
Ты со своим C# считай на пороховой бочке сидишь, потратишь годы на погружение, а потом узнаешь, что все, "кина не будет".
От того настоящий опенсорс будет развиваться, как таже пыха, а псевдоопенсорс как этот .net не факт.

Ответить
Развернуть ветку
Александр Ерёмин

C# - MIT
Silverlight - MS EULA
C# это продукт .NET Foundation, а Silverlight чисто MS-продукт.
Услышали звон, но не знаете откуда он 🤣

Ответить
Развернуть ветку
Денис Демидов

А .NET Foundation майкрософт не в одно рыло тянет? Кто-то еще им занимается?

Ответить
Развернуть ветку
Александр Ерёмин

Не мытьем, так катаньем). Если не бенчмарками, то количеством библиотек и подсчетом звездочек на гитхабе "доказать всем", что пыха это мастхэв в вебе🤣.

Если есть желание такими глупостями заниматься, то можете сами зайти на nuget и считать каких там библиотек и сколько.

Ответить
Развернуть ветку
Денис Демидов

Я этот холивар развел с одной единственной целью, чтобы мне доказали, что php уже не торт, но пока какие-то устаревшие эмоциональный сопли времен php 5

Ответить
Развернуть ветку
Александр Ерёмин

Никто и не говорил, что PHP не торт. Это вы доказываете всем, что PHP почему то лучше остальных , опираясь на весьма неконструктивные доводы. ¯\_(ツ)_/¯

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Александр Ерёмин
Ответить
Развернуть ветку
Денис Демидов

Да и нах в 21 веке вообще компилятор срался, когда пыха местами быстрее работает или также?

Ответить
Развернуть ветку
Kelerius

А причем тут компилятор? Он за меня занимается тем,чем я не хочу - гененирует оптимальный код под миллионы платформ.

Если вам интерпретатор милее - так и используете его)

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Александр Ерёмин
По массе замеров, пыха давно net обогнала в скорости, компиляция это уже какой-то анахронизм получается.

По каким замерам? Откуда вы это берете?

Ответить
Развернуть ветку
Денис Демидов

Язык никогда не был узким местом производительности в вебе, там 95% на базу и архитектуру приходится все, но теперь и сама пыха работает не медленнее компилируемых языков, так зачем тогда компилятор?

Ответить
Развернуть ветку
Kelerius

Компилятор времени отнимает мало,а дает много. Например, поддержку ошибок типов на этапе компиляции. И много других плюшек,с этим связанных.

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

У тебя аргументы из серии "мне нравится php потому что у php-шного IDE иконка красивее"

Ответить
Развернуть ветку
Денис Демидов

Ты не согласен с тем, что IDE отлично справляется с проверкой типов или что?
Не стремно минусы ставить тому, с кем споришь?
Фу таким быть

Ответить
Развернуть ветку
Kelerius

А проверку типов как php реализует?
Уж простите,сейчас даже js компилируется!) А уже потом интерпретируется (хотя в этом я уже не уверен).

Ответить
Развернуть ветку
GS

PHP уже давно типизируемый, мало того есть declare(strict_types=1).
А где у вас JS компилируется? Нет, есть движки, компилирующие JS, но это уже отдельная история.

Ответить
Развернуть ветку
Александр Ерёмин

В чем заключается геморрой?

Ответить
Развернуть ветку
Денис Демидов

Время на компиляцию, сложнее отладка, ограничения в полиморфизме.

Ответить
Развернуть ветку
Sam Beckett

Какое время на компиляцию, ты пьяный чтоли? Чем сложнее отладка?
Ты ведь никогда не писал ни на чем, кроме php, верно?

Ответить
Развернуть ветку
Денис Демидов

Тебе ли про опьянение говорить, когда ты выше говорил о том, что в php нет строгой типизации?
На С++ много писал в свое время, java в теории знаю, за счет множества книг где на ней примеры приводятся.
Ты будешь спорить с тем, что отладка в интерпретируемом языке проще?

Ответить
Развернуть ветку
Sam Beckett

Объясни чем она проще-то?

Ответить
Развернуть ветку
Денис Демидов

В С# ты сможешь внедрить в продуктовый код функцию типа debug_backtrace, которая в случае чего запишет все в лог?
Насколько я понимаю, там это только в режиме отладке получится сделать.

Ответить
Развернуть ветку
Sam Beckett

У меня на проде C# пишет все в Seq и в Prometheus. Зачем внедрять в продакшн какие-то костыли я даже спрашивать боюсь

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

Питон получил распространение как язык для ML. Я не знаю кто в здравом уме будет пилить проект для веба полностью на питоне

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Денис Демидов

Тогда php уже лет десять как компилируемый с opcache?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Александр Ерёмин

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

Ответить
Развернуть ветку
Kelerius

Нет,я его знаю давно. Товарищ просто заблуждается и при этом почувствовал в себе силу программиста.
Это очень хорошо, но это пройдет)
Очень рад за него.

Php действительно сейчас достойный язык и хорошо решает свои задачи.

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Davidov Alexander

А парни из php то и не знали об этом
root@glados:~$ docker run -ti --rm php:fpm-alpine3.15 php -m | grep "op"
openssl
https://github.com/docker-library/php/blob/master/8.1/alpine3.15/fpm/Dockerfile

ни в официально собранном контейнере командой php , ни в инструкциях по сборке контейнера нет упоминания opcache

То что за вас в неком $distrib_name кто то из мейнтейнеров его собрал и добавил в зависимости к метапакету php, совершенно не значит что "php уже лет десять как компилируется с opcache"

Ответить
Развернуть ветку
Kelerius

https://habr.com/ru/company/otus/blog/509598/

Я может что-то не понял или в php завезли компилятор?

Ответить
Развернуть ветку
Денис Демидов

opcache прокачали по сути, который там уже десяток лет

Ответить
Развернуть ветку
Davidov Alexander

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

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Davidov Alexander

Опять мимо, если вы себе сделали на пыхе полтора магазина, это не значит что весь веб сидит на нем, а даже те кто сидит (тот же деливери) сьезжают с пыха на go, либо ваяют перед ним свой JIT, например HHVM от Facebook и kPHP от ВК, при этом тот же ФБ плавненько сваливает на свой язык hack (это видно по последним релизам HHVM)

А вы говорите "не нужны")

Ответить
Развернуть ветку
Денис Демидов

Да никто не сваливает с пыхи, на go делают небольшие микросервисы, зачем глупости писать?
JIT по сути тот же OPCache, который на пыхе есть уже лет десять, а в php 8 JIT уже из коробки идет.
Пыха активно развивается и впитывает в себя все, что нужно сообществу.

Ответить
Развернуть ветку
Александр Ерёмин
JIT по сути тот же OPCache

Вообще нет)))
JIT не нужен никакой Zend VM в отличие от OPCache

Ответить
Развернуть ветку
Денис Демидов

Вам лишь бы поспорить? Я же про суть говорю, а не про реализацию.

Ответить
Развернуть ветку
Davidov Alexander

ну если вы считаете что k8s - это только "небольшие микросервисы" то не буду ваши глупости разрушать)

Ответить
Развернуть ветку
Денис Демидов

Ну хз, назвать k8s веб приложением....

Ответить
Развернуть ветку
Kelerius

C# сейчас как раз в вебе очень силен. Используется где-то в промежутке между ядром проекта на Java и фронтом.
Или как веб-сервис изначально.

Еще есть такая штука как бекенд-на-фронтенде (могу ошибаться) - это когда для react клиента делают nodejs сервис с апи,которым заведует команда фронтов.
А уже дальше идет обращение к условному сервису на C#.

Ответить
Развернуть ветку
Денис Демидов

node.js это полноценный бэкенд, ему уже ничего особо не нужно, это для тех, кто хочет бэкенд на javasript (чаще TypeScript) писать

Ответить
Развернуть ветку
Kelerius

Да, но ноду сейчас пихают как бекенд для фронта - который пробрасывает АПИ запросы от фронта к беку (основному,написанному например на том же C#).
Нужен для того чтобы не перепиливать основной бек из-за вечных хотелок фронтовиков.

Ответить
Развернуть ветку
Денис Демидов

Ну так он и в пыху также может кидать все, этот аргумент мимо

Ответить
Развернуть ветку
Davidov Alexander

Вы описали классическую разработку в любой более-менее развитой компании, да там просто делят фронт и бэк на старте (в тч могут разделять и команды разработки) под бэк может идти что угодно - java, python, nodejs, .net, etc. Фронт (если нет легаси клиентов) делают на реакте/ангуляре
Собсно второй теребонькает апишечку первого и делов)

Ответить
Развернуть ветку
Александр Ерёмин

Ваши, ничем не подкрепленные, рассуждения это типичный пример эффекта Даннинга — Крюгера.

Ответить
Развернуть ветку
Kelerius

Культура программирования у товарища хромает, но это ничего.
Главное,что он наш - программист!

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Sam Beckett

Я имел в виду опыт промышленной разработки.

Ответить
Развернуть ветку
Денис Демидов

Ну так и ты на пыхе походу не писал, раз глупости про типизацию пишешь.

Ответить
Развернуть ветку
Sam Beckett

В том-то и дело что приходилось писать на php в промышленных масштабах

Ответить
Развернуть ветку
Денис Демидов

Давно видимо это было, очень давно...

Ответить
Развернуть ветку
Kelerius

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

Ответить
Развернуть ветку
Денис Демидов

Ну о чем с вами разговаривать, если у вас познания о php десятилетней давности?
declare(strict_types=1); и будет вам строгая типизация.

Ответить
Развернуть ветку
Kelerius

А строгая типизация будет за счет чего обеспечиваться?
Там же нет магии. Все равно значит компиляется где-то.

Ответить
Развернуть ветку
Денис Демидов

На лету все IDE делает, а пыха уже когда столкнется выкинет ошибку.

Ответить
Развернуть ветку
Kelerius

Так это разве не компилятор делает? Тем более в PHP он оказывается есть

Ответить
Развернуть ветку
Денис Демидов

В PHP нет компилятор как в C#, JIT это кэш интерпритатора по сути, чтобы одну работу дважды не делать если исходники не менялись.
Он остался 100% интерпретатором, может php код из базы взять и исполнить на лету.

Ответить
Развернуть ветку
Kelerius

А как современная IDE с этим справляется без компилятора?
Она именно что компилирует программу внутри себя и выдает результат. И делает еще много-много других оптимизаций.

Ответить
Развернуть ветку
Денис Демидов

Ну так мне какая разница как IDE это делает, если я не испытываю неудобств компилятора?

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

Чем плох, например, Go или C#?

Ответить
Развернуть ветку
GS

В Go всё бы ничего, но есть одна боль - обработка ошибок.
Может за 2 года разрабы языка как-то и разрешили эту проблему, но небыло почти ни одного митапа по Go, где не затрагивалась бы эта тема (помимо непомерно раздутых бинарников).
C# весьма тяжел, и не такой уж кросс-платформенный, как любят о нём заявлять. Хотя лет 10 назад только на нём и работал, но энтерпрайз от него стал отказываться, в большинстве случаев оставив на нём legacy проекты.

Ответить
Развернуть ветку
Sam Beckett

Что значит "не такой уж кроссплатформенный"? На какой платформе не работает C#, на которой запустится php?

Ответить
Развернуть ветку
GS

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

Ответить
Развернуть ветку
Sam Beckett

Виндовые либы в линукс? Можно поподробнее?

Ответить
Развернуть ветку
GS

А вы никогда не компилили кор проекты под Linux?
Судя по расширению dll, а не so - полагаю, что это либы под винду.
Сначала подумал что это остатки после предыдущей сборки под винду, но без них проект на линуксе просто не запускался.
.NET Core я только побаловался, мигрировав на него пару своих старых проектов на .NET, хотя и следовал майковской доке по миграции. Сложилось впечатление, что .NET под линукс - это compatibility-прослойка наподобии Wine.

Ответить
Развернуть ветку
Sam Beckett

Я собирал кор под линукс в докер только. Надо будет вообще пошерстить эту тему, спасибо за наводку. Но я, правда, слабо себе представляю как виндовые dll вообще юзаются под линуксом

Ответить
Развернуть ветку
Денис Демидов

Покажите мне аналог doctrine на Gо?

Ответить
Развернуть ветку
Sam Beckett

Сто лет не писал на php, но если doctrine - это ORM, то есть например GORM

Ответить
Развернуть ветку
GS

Всё дело в удобстве и простоте.
На Go по факту нет удобных ORM, как например та же доктрина для PHP.
С тем же GORM помню были костыли с nullable-полями, траблы с миграциями.

Ответить
Развернуть ветку
Денис Демидов

Это аналог только по названию, тут подробнее объясняется
https://www.youtube.com/watch?v=pOF5_AclY-I

Ответить
Развернуть ветку
Ivan Off

Это "что угодно" точно будет альтернативой.

Ответить
Развернуть ветку
Denis Nichik

Вроде уже лет 8 обещают альтернативу, но до сих пор 80% интернета на ПХП работает

Ответить
Развернуть ветку
Denis Nichik

Про 8 лет обещаний смерти? Может и там так же, просто я на ПХП работаю и постоянно слышу об этом. В то же время конечно снижается количество сайтов. Год назад было 80.2%, сейчас 79.6% вроде

Ответить
Развернуть ветку
Ivan Off

PHP на самом деле отличная вещь, если надо быстро и дешево написать бэк. Там есть всё.

Ответить
Развернуть ветку
Денис Демидов

На PHP работают монстры вроде фейсбука и вконтакте, большая часть екомерса написана на нем, один мадженто чего стоит, а у нас это битрикс.
Когда появился symfony, корпоративный сектор стал по другому смотреть на php

Ответить
Развернуть ветку
Сервис opencart-course

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

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

Им проще, потому что у них уже огромная кодовая база на этом языке. Я уверен, если бы фейсбук начали писать сейчас, они бы выбрали что угодно, кроме php. Потому что действительно когда начиналась разработка facebook и vk у php еще не было альтернатив

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

Ты видишь разницу между "рефакторингом" и "переписать все на новый стек"? Блин, чувак, заканчивай, ну серьезно

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

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

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Sam Beckett

Потому что бесполезно что-то доказывать человеку, который не в теме

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Ivan Off

Вы его с Java перепутали.

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
yomi

Бекенд такая штука, что её можно совершенно на чём угодно писать.

Ответить
Развернуть ветку
Денис Демидов

Но зачем, когда есть такая шикарная вещь как php и symfony?

Ответить
Развернуть ветку
Adult Swim

Раз Демидов хвалит пхп, значит дела у пхп совсем плохи

Ответить
Развернуть ветку
Ivan Off

)))))

Ответить
Развернуть ветку
Сергей Добрицкий

А я разве что-то против сказал)?
На нём даже мой любимый битрикс работает)))

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Аккаунт заморожен

За что пинают – вот за такие безграмотные высказывания разработчиков, которые на нем пишут:

Для веба у php сейчас альтернатив нет по сути
Ответить
Развернуть ветку
Денис Демидов

От того 80% веба на нем работает?

Ответить
Развернуть ветку
Аккаунт заморожен

Комментарий недоступен

Ответить
Развернуть ветку
Денис Демидов

Есть всего два типа языков программирования: те, на которые люди всё время ругаются, и те, которые никто не использует. (с)
Еще есть те, кто соскочил с него лет так десять назад и понятие не имеет, что с ним сейчас происходит.

Ответить
Развернуть ветку
Сергей Добрицкий

Не, после qbasic и паскаля он очень классная штука)
Сам не люблю когда его ругают

Ответить
Развернуть ветку
Денис Демидов

Он свехгибкий, на нем в вебе можно все делать, любой сложности проекты.

Ответить
Развернуть ветку
Арсений

Возможно. А яваскрипт разве не гибкий? И фронт и бек можно писать, да и десктоп приложения, типа vs code.

А Пайтон Джанго не сверхгибкий? На Пайтон ещё больше библиотек.
Есть даже Брайтон для фронта, хотя лучше уж js выучить)

Ответить
Развернуть ветку
Денис Демидов

Там с одной компиляцией заипешься, а скорость уже не принципиально выше.
Да и php может с типами как строго, так и нет, а жава только строго.
Для питона больше библиотек для веба, вы серьезно?

Ответить
Развернуть ветку
Арсений

Для бэкэнда на питоне много библиотек. Не знаю, может и меньше, чем для php.
Кстати, для js есть typescript со строгой типизацией

Ответить
Развернуть ветку
Ivan Off

А чем вообще хорош пхп?

Ответить
Развернуть ветку
Sam Beckett

Низкий порог входа и легко пишется говнокод. За это его в большинстве своем и любят. И это же его слабые стороны

Ответить
Развернуть ветку
Денис Демидов

Говнокод можно на чем угодно написать, даже на java

Ответить
Развернуть ветку
Mike Espoo

Вы себе не представляете насколько вы правы.
Я бы сказал, особенно на java.

Ответить
Развернуть ветку
Денис Демидов

Много книжек в последней время прочитал про архитектуру и паттерны, там часто примеры на java, как надо и как не надо))))

Ответить
Развернуть ветку
Sam Beckett

С Java это сильно сложнее сделать

Ответить
Развернуть ветку
Денис Демидов

Вряд ли, просто java не изучают говнокодеры, в среднем выше компетенция из-за сложности разработки.

Ответить
Развернуть ветку
Sam Beckett

Статическая типизация

Ответить
Развернуть ветку
Денис Демидов

declare(strict_types = 1)

Ответить
Развернуть ветку
Денис Демидов

Почти всем

Ответить
Развернуть ветку
Саша Антипов

Для веба у php сейчас альтернатив нет по сути: это только по сути и вы верно написали что на данный момент!

Ответить
Развернуть ветку
Денис Демидов

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

Ответить
Развернуть ветку
Сергей Добрицкий

А 8ка?

Ответить
Развернуть ветку
Саша Антипов

Ну тут я с вами и не поспорю, согласен все 100%

Ответить
Развернуть ветку
Сергей Сергей

Выпускай Кракена!!!

Ответить
Развернуть ветку
357 комментариев
Раскрывать всегда