LINUX.ORG.RU

Из верстальщика в backend.Слишком много вопросов.

 ,


0

5

Работаю верстальщиком в небольшой конторе, плюс немного знаю JS(плагин подключить, обработчик написать, в тонкости не вдавался). Как хобби, взялся за программирование, выбрал Python где-то два года назад. За это время поднатаскался с базами данных, даже десктоп пробовал писать на tkinter, делал парсеры. Приступил к Flask, написал небольшой сайт с авторизацией(использовал session). Планирую дальше развиваться в вебе, а именно на backend. Что мне делать дальше: изучать Django или попробовать что-то другое(другой язык)? Популярность Python только растет, но и появились .Net Core, Golang, Rust и др. Насколько эти варианты лучше/хуже, у меня есть сомнения в дальнейшем развитии с Python. Python не идеален. Пока я увидел его следующие проблемы: сложная поддержка от версии к версии(от 2 к 3), скорость работы программ. Не за горами Python 4. Какая там будет совместимость с 3 версией, не придется переписывать части кода и не ухудшится скорость работы? А wasm на Python реален или только на компилируемых языках возможен?


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

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

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

Ок.

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

Так будет норм ящитаю.

PS: да ладно, я просто рофлю, потёр и потёр. Сама ситуация просто забавная.

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

У рубей поломки в минорных релизах вообще норма.

Можно примеры? А то я не припомню ничего такого после 2.1. У рубероидов исполняемая спека есть, там чтобы что-то сломать, надо специально постараться. Если ты про обратную совместимость, а не про баги. Баги в релизах это вообще всеобщая норма. Для их отлова есть армия адептов.

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

У Го есть огромный недостаток и это не исправить

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

Это и есть госяк Го. и это его и погубит.

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

Можно примеры? А то я не припомню ничего такого после 2.1. У рубероидов исполняемая спека есть, там чтобы что-то сломать, надо специально постараться. Если ты про обратную совместимость, а не про баги. Баги в релизах это вообще всеобщая норма. Для их отлова есть армия адептов.

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

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

Ты сам-то читал PEP8? Там чёрным по белому написано, что это стандарт оформления стандартной библиотеки CPython, и только. Даже приписано, что в других проектах нужно следовать стилю, принятому в этих проектах.

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

2 уже де-факто закопан, не стоит оглядываться на него.

Ты не перепутал де-факто с де-юре?

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

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

На это потом соскочили, изначально-то речь шла о PyPy/numba.

MRI — не сырая дрянь, а вполне стабильная.

Дык поломки на уровне API, а не MRI.

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

Как опенсорсный проект может быть огорожен?

Элементарно: согласно новомодному трактованию свободы, поразившему в том числе гномосеков и мозилл-овец, согласно которому свобода предназначена не для того, чтобы хэцкеры творили на своих ЭВМ всё, что им вздумается, а чтобы в принудительном порядке защищать общественные устои, такие как приватность пользователей, а также обеспечивать свободу использования ЭВМ всеми людьми вне зависимости от их компьютерной грамотности. Из этой же оперы новое поколение «свободных» лицензий, которые накладывают моральные ограничения на использование программ. На ЛОРе особенно отличились в форсе этого рака @commagray и @rebforce.

А проект на Go быть жирным?

Жирное говно можно написать на чём угодно. И при чём здесь вообще язык, когда основная причина жирности в самих контейнерах, которые занимают дохрена дискового пространства?

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

Никто не знает жс

Царевской риторикой попахивает. А ещё говорят, что у модераторов виртуалов нет…

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

Почему же? Во-первых, там всё делается простыми CLI-инструментами. Во-вторых — язык так и пестрит юниксово-шелловскими концепциями. Горутины — форканье, иже & или подшеллы, каналы — прямой аналог пайпов. Ну и с Plan 9, которая образчик юниксвейности в квадрате, Go тесно связан.

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

На бэкенде нужна. Да и на фронте сервисъворкеры появились.

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

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

> RUBY_VERSION
=> "2.6.6"
> Fixnum
warning: constant ::Fixnum is deprecated
=> Integer

Конкретные примеры «поломок»?

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

От того, что на ЖС сверху нашлепнули типы, он не стал лучше. Да, избавились от сравнения строк с интами и замаскировали лапшу колбэков промисами, но родовые травмы этим не уберешь.

p.s. чот вспомнился амазоновский сдк для тайпскрипта, выступил холодный пот.

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

избавились от сравнения строк с интами

Как будто это что-то плохое.

замаскировали лапшу колбэков промисами

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

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

Как будто это что-то плохое.

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

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

Я говорю, что однопоточная «асинхронщина» (в бэкенде) это дичь. Но, учитывая ЦА ноды, мультитрединг им лучше не показывать, поэтому пусть лучше промисы будут, хотя бы запутаться сложнее. Говорят, недавно подарили костыль в виде web_workers, надо после окончания карантина сходить к наших жабаскриптерам, поспрашивать.

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

Я говорю, что однопоточная «асинхронщина» (в бэкенде) это дичь.

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

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

Зачем там треды? Это ж не числодробилка. В любом случае любая другая скриптота в этом смысле не лучше. Нужны треды - бери голанг, или хотя бы жабку.

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

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

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

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

особенно отличились в форсе этого рака

Каво? Примеры хоть давай.

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

Да, избавились от сравнения строк с интами и замаскировали лапшу колбэков промисами

Этого мало?

но родовые травмы этим не уберешь

Какие? Типизированные массивы из одного элемента плохо заменяют соответствующие переменные?

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

Зачем там треды?

Затем, что процессорные ядра упёрлись в потолок частоты давным-давно, лет за 15 от силы один гигагерц выжали (да и то, некоторые старые процы до 5 GHz вроде тоже разгонялись, другое дело, что на серверах никто разгоном заниматься не будет). Посему мультитрединг пихать необходимо во все щели.

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

Потуги нодомакак в многопоточность, конечно, бесперспективны, посему нодомакаки расхайпали лютый (пусть и хороший с точки зрения масштабирования) костыль — микросервисы. Запускаем процессы ноды на куче машин (можно и на одной, но зачем?), ещё на одной балансировщик, и он по сети с ними взаимодействует. Бежали от CGI-оверхеда, а прибежали к вот этому… Да причём расхайпали так, что другие начали перенимать. Даже жабисты откопали из склепа фонда Apache труп Кафки, в последние годы частенько о ней слышим, даже в оффлайне хотя читали о ней ещё в начале 10-х как о штуке полудохлой.

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

совместимость с браузерными движками

Чего несут…

Там нет ни DOM (отчего для работы с DOM приходится тащить пакеты), ни даже объекта window (вместо него испокон веков global). Импорты же не работали даже тогда, когда их завезли уже даже в вечноотсталый вебкит, в т.ч. на iOS. О какой совместимости с браузерными движками речь? Там и V8-то форкнутый.

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

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

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

Для этих поколений портянки не являются никакой проблемой. Они их генерят в товарных количествах.

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

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

В тех проектах принято следовать следовать конвенции тех проектов, которая может совпадать с PEP8.

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

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

ЛОЛ ЧТО? Нет, конечно, перед ним стоит балансировщик, который раскидывает запросы на 100500 таких процессов.

Бежали от CGI-оверхеда, а прибежали к вот этому…

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

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

У жаваскрипта совместимость. Покажи мне нативное выполнение тайпскрипта без бабеля. Правильно, нету ничего, все нашлепки все равно конвертятся в унылый шмутц, созданный 25 лет назад для мигания текстом, и потом выполняются приложением на крестах. Все это добро обмазано сотнями пакетов, половина из которых делает ажно целый битовый сдвиг; потом разработчик либы битового сдвига сходит с ума, удаляет пакет с npmjs.org и половина инсталляций ноды превращается в тыкву.

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

leave ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.