Вкатился в молоток

Вкатился в молоток Двач, Тредшот, Программирование, Молоток, Паяльник, Мат, Скриншот

Улыбнись!

1.2K постов2K подписчика

Добавить пост

Правила сообщества

Данное сообщество создано для поднятия хорошего настроения, положительных эмоций.

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

Если содержание поста отличается от цели сообщества (поднятие хорошего настроения) пост может быть удален из сообщества.

Вы смотрите срез комментариев. Показать все
12
Автор поста оценил этот комментарий

Все самые популярные языки — общего назначения: JavaScript, Python, Java, C#, C, C++. Это означает, что на них на всех можно решать одни и те же задачи. Так что нифига языки не заточены каждый под свои задачи

раскрыть ветку (65)
11
Автор поста оценил этот комментарий

Очень даже заточены.
- JS всегда был клиентским и в серверность его привёл совсем недавно NodeJS, и то это уже не тот JS, да и серверность из него, прямо скажем, сомнительная - развлекуха для школьников, на мой взгляд, хотя многие поспорят)
- Питон - скриптовальня чистой воды. Строить небольшие костылики межплатформенные - заебись. Но что-то масштабное и связанное, большой проект на нём писать - как паять молотком. Можно теоретически, но это надо сильно упороться)
- Си всех мастей.. ну ебани веб-систему (сайт) на Сях :)
Как и с питоном - всё возможно, как говорится: не бывает сложных программ, бывает влом писать на ассемблере.
Так что да, паяльником тоже можно пытаться забивать гвозди, но автор поста прав изначально - у каждого есть область применения, где он выигрывает у других, иначе не было бы смысла изобретать тот же велосипед вторично.

раскрыть ветку (13)
1
Автор поста оценил этот комментарий

Это все не характеристика языка, а ты реализации, на которой они работают

Допустим, сейчас пилят mojo, который как питон, но компилируется

Да, реализации могут быть разными, но язык то тут причем?

раскрыть ветку (2)
Автор поста оценил этот комментарий
Язык как бы неразрывно связан с его интерпретатором/компилятором
раскрыть ветку (1)
Автор поста оценил этот комментарий

Нет. У JavaScript-а несколько рантаймов, у питона два (не считая моджо), у джавы несколько, у си/си++ несколько компиляторов. Раньше еще были проекты IronRuby, IronPython. Раст и еще несколько умеет компилироваться в WebAssembly

И это не говоря о том, что на одном рантайме может работать несколько языков: на clr C# и F#, на JVM Java, Kotlin, Scala на OTP Erlang, Elixir и еще один, на LLVM работают C, C++, Rust и Julia

Автор поста оценил этот комментарий

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

А вот Боромир бы не поленился! А вот Боромир бы написал!

Автор поста оценил этот комментарий
Ну высоко нагруженные бэкенды на плюсах пишут.
1
Автор поста оценил этот комментарий

ну ебани веб-систему (сайт) на Сях :)

Теоретически можно. Но это, конечно, изъеб тот еще будет. Хотя кому-то нравится дизайн страницы не во всяких там html, xaml и прочих делать, а скриптами в С.

1
Автор поста оценил этот комментарий

Как на с# + js писал сайты, так и на питоне +js. Вполне можно на шарпе такое делать и получится отлично. Ну а питон модно ругать, как пхп в свое время) видел и участвовал в больших проектах только на питоне. И пока все не упирается в cpu bound, то в чем проблема? Не православно?

раскрыть ветку (6)
Автор поста оценил этот комментарий

А я кодил на VBScript сайтовые скрипты и писал на VisualBasic'е немало прикладного)
Можно, конечно, и если виртуозно владеть паяльником, то гвозди в целом могут забиваться не сильно медленнее, чем молотком:)

раскрыть ветку (5)
Автор поста оценил этот комментарий

а по делу то получится ответить? Или просто хайповые стереотипы привел?

раскрыть ветку (4)
Автор поста оценил этот комментарий

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

раскрыть ветку (3)
1
Автор поста оценил этот комментарий

я же писал про работу) Публиковать рабочие куски кода? Спасибо, не хочу потом судиться с работодателем. Но то, что ты спрашиваешь, гуглиться банально за 5 минут.


Ну и ты такой молодец, сначала пишешь - бла бла, C# для сайтов не используют, python - язык скриптов для перемычек. А когда я предлагаю объяснить, в чем проблема, используешь прием священников - "а ты докажи, что я не прав". Бремя доказательства висит на утверждающем) Но так и быть, я помогу тебе немного.


на С# пишут чаще всего такое на ASP.NET, в официальном репозитории есть примеры кода и работы с ним


https://github.com/aspnet/samples/tree/main


А вот список платформ, которые используют ASP.NET

https://itproger.com/news/luchshie-sayti-sozdannie-na-c-asp-...


В питоне самые популярные фреймворки - Django и Flask.

Как мы можем видеть, топовые платформы используют их в том числе.

https://www.guvi.in/blog/famous-websites-built-with-python/

https://habr.com/ru/articles/542258/


Конечно, уверен, что CPU bound обработка видео в том же Netflix написана на статичном языке, но что мешает использовать для I\O bound задач только питон?

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Ты прав, дружище)
Добра тебе)

раскрыть ветку (1)
Автор поста оценил этот комментарий

Эх, жаль, действительно хотелось услышать аргументы.

И тебе добра.

4
Автор поста оценил этот комментарий

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

раскрыть ветку (13)
Автор поста оценил этот комментарий

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

раскрыть ветку (12)
5
Автор поста оценил этот комментарий

ну ты шутник
на дерьме невыразительным
на котором ничего сложного нельзя сделать
и ничего простого быстро не напишешь
Че как там покушал сахарные функции для получения значений в 22 версии, спустя 15 лет создания языка

раскрыть ветку (3)
Автор поста оценил этот комментарий

Сложное — это что, например?

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Ну что то большее, чем большой микросервис
Или что то большее, чем перекладывать джсон. Представь какой то unreal engine не на плюсах, а на го. Это с ума сойти можно.

Пoяснение насчет примера выше, функция для получения значений, это я про манипуляции со слайсами и мапами.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Большой микросервис тоже не. И нормальный тоже. Щас микросервисы превратили в микроговно, в котором контейнеры жрут больше, чем сам сервис.

5
Автор поста оценил этот комментарий

Это не так.

У некоторых языков нет функционала, который есть у других. В JS вы не сможете сделать bitmap или работать с указателями.

Более того, JS будет куда менее эффективно распределять память на те же вещи, которые можно сделать со всем функционалом СИ.

Потому лучший или худший - это некорректный вопрос.

Есть язык с тем или иным функционалом. Вы берете тот уровень абстракции который вам нужен или с которым вы хотите работать.

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

раскрыть ветку (7)
Автор поста оценил этот комментарий

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

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

Когда речь идет об офисных стульях — ответ очевиден, это Aeron. Когда о языках программирования, я думаю, что Go

раскрыть ветку (6)
3
Автор поста оценил этот комментарий

Помимо функционала, есть такая вещь как производительность. И здесь js проигрывает тому же с++.

Bitmap в js нет. Можно битовые флаги через маски.

раскрыть ветку (4)
1
Автор поста оценил этот комментарий

Как в том анекдоте: могу печатать 500 букв в минуту, но такая фигня получается.

Производительность го на уровне си, и при этом он безопасный

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

раскрыть ветку (3)
2
Автор поста оценил этот комментарий

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

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Я думаю что так просто исторически сложилось

Была же ос на джаве

1
Автор поста оценил этот комментарий

Честнее было бы «производительность го на уровне си, и при этом либо он безопасный». Вон сколько import unsafe в стандартной библиотеке.

1
Автор поста оценил этот комментарий
Aeron? Круче православного Маркуса ничего не бывает.

Так же и с плюсами. Есть один язык программирования, есть странные пародии на языки и каламбуры на программирование

кек =)
9
Автор поста оценил этот комментарий

А чего тогда Unreal Engine не на JavaScript написали? А ядро Linux не на Python? Может, потому что язык не заточен под эти задачи?

ещё комментарии
3
Автор поста оценил этот комментарий

Все самые популярные языки — общего назначения: JavaScript, Python, Java, C#, C, C++. Это означает, что на них на всех можно решать одни и те же задачи

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

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

Ну и перфоманс иногда роляет. Брать камень на 100 Мгц или 50? При тираже от ... штук это очень некислые бабки.

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

Согласен. Но языки развиваются именно из за удобства, значит есть объективно лучший язык. Так что вопрос какой язык лучше начинать учить — далеко не праздный. Это мы, скуфы, не можем на него ответить вменяемо

1
Автор поста оценил этот комментарий

Это означает, что на них на всех можно решать одни и те же задачи

Нет. Они просто самые популярные.


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

раскрыть ветку (7)
Автор поста оценил этот комментарий

И какой язык для чего заточен?

раскрыть ветку (6)
1
Автор поста оценил этот комментарий

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


Если тебе нужна развесистая бизнес-логика, то условный Kotlin подойдет лучше, и чем язык без GC, и чем язык без типизации.


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


Если тебе надо очень быстро накидать чутка кода для ML, да еще и нет времени что-то айтишное учить, то Python подойдет лучше всего (на текущий момент).

раскрыть ветку (5)
Автор поста оценил этот комментарий

Ну, на самом деле, никто так не делает. Все полезные библиотеки и подходы реализуются на каждом языке. Например, нужны тебе очереди. Очереди есть и на джаве и на питоне и на c# и черта в ступе. Или акторы. Или ML тот же. Да, исторически так сложилось что ML развивается именно на питоне, но библиотеки для ML-а есть на всех ходовых языках. На самом деле народ не переходит с языка на язык в зависимости от задач, а тащит все полезное в свои языки

раскрыть ветку (4)
Автор поста оценил этот комментарий

Ну, на самом деле, никто так не делает.

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


Далее ты перечисляешь слишком простые вещи, а потом всё сводишь к Тьюринг полноте (в стиле «это можно решить на любом языке»).


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

раскрыть ветку (3)
Автор поста оценил этот комментарий

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

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

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

Посмотри популярные репозитории на гитхабе. Ты увидишь, что репозиториев, где было бы 50% одного языка и 50% другого — нет. Даже 20% и 80% вряд-ли найдешь. Обычно соотношение 95% и 5% на другие языки

раскрыть ветку (2)
Автор поста оценил этот комментарий

Во всех них есть пакеты для всех задач.

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


Кроме абстрактного "всё можно решить на моём языке" есть еще применимость, эффективность разработки и пр.

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

Ты сильно преувеличиваешь плюсы.


Как изменится инфраструктура от смены Java на Kotlin?

командная экспертиза копится

Я уже сказал, что я не рассматриваю джунов. Если у тебя "синьор" всё еще копит экспертизу по популярным языкам, то тебе стоит пересмотреть уровни.

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

Или Rust, или JVM/CLR. Многопоточный код крайне сложно написать на Си за приемлемое время, да и очень сложно будет обогнать те же JVM/CLR.

Посмотри популярные репозитории на гитхабе.

А смысл? Если у тебя один проект - это один репозиторий (и даже не монорепозиторий), то тогда еще рано говорить об архитектуре )

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

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

Как изменится инфраструктура от смены Java на Kotlin?

Да, можно найти примеры, что никак. Но в то же время, можно найти примеры что поменяется

Или Rust, или JVM/CLR. Многопоточный код крайне сложно написать на Си за приемлемое время, да и очень сложно будет обогнать те же JVM/CLR.

Все-таки, си больший мейнстрим

А смысл? Если у тебя один проект - это один репозиторий (и даже не монорепозиторий), то тогда еще рано говорить об архитектуре )

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

1
Автор поста оценил этот комментарий

Нет ты не прав. Каждый язык заточен под свои задачи. Хайлоад можно написать на питоне. А можно заниматься быстрым прототипированием на плюсах. Только вот нужно ли

раскрыть ветку (12)
4
Автор поста оценил этот комментарий

Хайлоад можно написать на питоне.

Правда при детальном рассмотрении окажется что питон там выполняет 0.5% задач, остальное делается специализированными библиотеками типа NumPy или tensor написанными на С(++).

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

И?

Автор поста оценил этот комментарий

Это уже идёт оптимизация. Это не отменяет того факта что на любом языке можно решить любую задачу

раскрыть ветку (9)
Автор поста оценил этот комментарий

Нет, это бессмыслено

раскрыть ветку (8)
Автор поста оценил этот комментарий

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

Автор поста оценил этот комментарий

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

раскрыть ветку (6)
Автор поста оценил этот комментарий

Ещё как переходит

раскрыть ветку (5)
Автор поста оценил этот комментарий

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

раскрыть ветку (4)
Автор поста оценил этот комментарий

А какие тут могут быть аргументы? Гугл в помощь. С того же питона мигрируют и на плюсы и на гошечку. Там где это оправдано и есть бюджет

раскрыть ветку (3)
Автор поста оценил этот комментарий

У меня другой опыт

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

Сильный аргумент

раскрыть ветку (1)
Автор поста оценил этот комментарий

Стильный

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку