All streams
Search
Write a publication
Pull to refresh
25
0

Разработчик

Send message
Ну погнали, примеры где используется Java:
Jenkins
Jira
Eclipse
NetBeans
Intellij

Ну и Java окопалась в мобильной разработке (хотя вроде как ее двигает Kotlin).
И немного про Highload.

Я не Java-разработчик и уж тем более Java-евангелист, так что не могу похвастаться знаниями проектов на данном языке.
Но судя по вашим требованиям пруфов по любому вопросу, вы очень активно пользуетесь «презумпцией невиновности» языка.
Однако это не значит что JS хорош :-)
Не стал бы делать таких громких заявлений, можно подождать и посмотреть пока язык еще более стабилизируется и обрастет необходимыми фреймворками. Глядишь, окажется что и биллинг вполне можно написать.

Отлично-отлично.
А сколько ждать?
Автор статьи тут утверждает что 10 лет язык не менялся и это круто.
Так какие перспективы?
Это я к тому, что повторно использовать код, а не писать велосипеды и на клиенте и на бэкэнде — это круто.

Вот все про это говорят, а кто нибудь может привести пример?
Это мой реальный интерес, очень часто слышу как достоинство JS + Node.js, но по факту это маловероятно.
Frontend — это абсолютно событийно-ориентированное программирование. Только события, ничего более.
Backend — разве это событийно-ориентированное программирование? Как по мне, бэкенд можно спокойно разложить в последовательный (синхронный) порядок выполнения.
Ваш пример про SVG вполне можно перенести, но вот часто ли такое случается?

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

Абсолютно согласен.
И это применимо ко всему.
Вот только речь здесь про то, что говняных табуреток с JS будет больше, чем с каким-нибудь C#.
И это опять такие мое, и думаю не только, мнение.
Многим это сколько? Их больше, чем «немногих»? Где это посмотреть? Мне вот, например, вполне комфортно. На основании чего я — немногих? На основании вашего личного мнения?

На основании того, что JS в большей степени используется для придания динамики веб страничкам.
На основании того, что использование JS заключается в привязке событий с помощью jQuery и использовании вышеупомянутой библиотеке (при чем это заслуга библиотеки, а не языка).
На основании того, что существуют различные TypeScript, CoffieScript, и др. вещи, которые расширяют язык (явно не от хорошей жизни, верно?).
Если вы еще и для этого пруфы попросите, то я тут бессилен.

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

Большую — это какую, пруфы пожалуйста.

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

Плохо что быстро запуститься калымага, которая может сломаться в любой момент, просто потому что произошла конкатенация вместо сложения.
А JavaScript уже обогнал Java по популярности или хотя бы сравнялся с ней

Может хватит уже может сравнивать проекты на JS и на Java?
Если вы считаете за использование различные куски кода, для добавления «динамики» веб страницам, то это не стоит сравнивать с программами на Java, которые совсем не для этого и не могут быть такими простыми.

Почему Node.js используется в крупных и серьезных проектах реже чем та же Java?
Может потому что в ней легко отстрелить себе ногу?
А в биллинговых системах (например), крайне важна надежность?
Нет такого принципа

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

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

Пруфы на то, что в случае с JavaScript это так? Статистика использования, сравнение одинаковых проектов на разных языках, замеры? Ах да, это же «всем очевидные вещи».

Ну вообще то да — это очевидные вещи.
JS имеет очень мало ограничений, и многие (в том числе автор и многие комментаторы тут) ставят это в достоинство.
Исходя из-за малого количества ограничений (которые как раз таки уберегают от ошибок), гораздо проще сделать ошибку, в сравнении с тем же РНР.
JS динамическая типизация.
В сравнении с языками со статической типизацией, он явно уступает в количество ошибок типов.
Это все не пруфы, а логика и здравый смысл, а не истерика с пеной у рта.
И это не означает, что от этого станет классно всем разом на планете. Те кто не хочет, чтобы им было классно, могут оставаться в том расположении духа которое им по душе.

Как то вы слишком крутите и филосовствуете.
На хрен это надо?
Не нужно говорить что JS крутой язык, универсальный, может все и всегда, а по факту используется только в вебе, во фронтенде и периодически на бекенде.
Этакий язык Шредингер — может все в теории, пока не проверишь на практике.

Даст кучу «разработчиков» которые сами смогут решать свои задачи и не отвлекать «других разработчиков» по пустякам. Или смогут лучше объяснить, чего они хотят от других разработчиков если сами не справятся.

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

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

PHP для веба, а не для highload.
Все почему то этим упрекают РНР и говорят, что он говно.
Но по факту РНР и не для highload.
Как по мне, то нода тоже вряд ли справиться с такой нагрузкой.
Но это, как говориться, не точно.

Если есть софт который написан некачественно, и софт которого нет — какой лучше?

Очень и очень плохая позиция.
Где то рядышком с «зачем трогать если работает?».
В некоторых, не побоюсь даже, во многих вопросах пусть уж лучше нет ничего, чем кривой табурет с педалями на одной ножке.
Сейчас ты упарываешься по паттерну и делаешь всё правильно (хотя и не понимаешь почему именно так правильно). Завтра упираешься в его углы и начинаешь мыслить за пределами его границ и получаешь свободу, в том числе выстрела в ногу

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

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

А каким образом это сделает мир лучше?
Даст кучу «разработчиков», которые могут использовать язык как калькулятор и писать Hello World?
Сомнительная польза для мира, да и для разработчика.
Порог вхождения.
Популярность и эффективность/правильность/качество — это к сожаления далеко не одно и тоже.
Очень далеко.
И, опять таки к сожалению, низкий порог вхождения, как раз таки в большей степени и определяет популярность.
Это очень субективное мнение, как и критерий «правильности». Я вот, например, терпеть не могу когда язык нянчится и не дает мне сделать то, что я хочу. Если я знаю что делаю, то я не хочу бороться с компилятором.

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

Решение задач единственным способом к развитию вообще не имеет отношения. Наоборот — это ограничение выбора.

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

По последнему предложению вообще забавно. Мануалы как раз нужны, когда на каждый чих надо искать то самое единственное «правильное» решение.

Про мануалы я погорячился, они как раз таки самый нормальный источник информации. А про книги тут.
Человек может подчерпнуть новые идеи не обязательно в книгах.
Почему у всех книги это панацея?!
Книга написано конкретным автором (иногда несколькими), у которых свой взгляд на вещи, и своя точка зрения.
По вашей логике, чтобы было прям совсем круто, нужно прочитать книги нескольких авторов, с разной точной зрения, чтобы быть красавчиком, однако пока вы будете погрязать в чтении книг, некоторые/многие моменты уже устареют.

Я не против изучения новой/другой информации, а против чтения книг ради этого.
В чем проблема: в книге написано много всего, с кучей воды и, опять-таки, с одной точки зрения.
Рассмотрим конкретный пример/случай из жизни: нужно изучить паттерны, чтобы разрабатывать «правильно».
Я не бегу скачивать книгу Фаулера, я иду в гугл и вбиваю: «паттерны», «паттерны веб-разработка», «паттерны JS» и т.д.
То есть я не трачу время на изучение всего подряд, что мне может-быть когда-нибудь пригодиться, я ищу конкретные вещи.
Да я понимаю, что статьи и советы других людей это в большей степени аккумулирование книг, НО если после прочтения книги, мной будет усвоена часть информации (а так чаще всего и бывает, а пригодиться еще меньше (скажем 25% из книги мной было усвоено и пригодилось в жизни), то какой смысл мне читать ВСЮ книгу?
А как вы интересно относитесь к дистанционному обучению?
GeekBrains или Hexlet?
Окончание таких курсов тоже показатель крутости программиста и без наличия их сертификатов человек не может стать хорошим разработчиком?

Че-то пришла гениальная мысль:
Недостаточно читать книжки, чтобы быть хорошим программистом.
Чтобы стать хорошим программистом, необходимо читать книжки/статьи/слушать советы опытных ребят.
А имелось ввиду, что const не работает с объектами

В другой ветке это обсуждают, там интереснее)))

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

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

Особенно веселят теоретики-отличники — это прям победа.
Прочитали кучу книжек, типа умные, а вот руки к сожалению (или к счастью) не из того места растут.
Тут дело немного в другом: JS позволяет делать ВСЕ что хочешь, с очень небольшими ограничениями, и множеством вариаций.
И сейчас «мир раскололся» на 2-3 лагеря:
1. те кто любят псевдосвободу и придерживаются позиции «сам дурак», а JS красавчег
2. те кто считают, что инструмент должен минимизировать ошибки разработчика.
3. все остальные

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

JS (как инструмент) никак не уменьшает число ошибок, а наоборот местами способствует их появлению, зато имеет низкий порог
Но надо оговориться, порог вхождения в программки типа «Hello World» действительно низкий, а вот порог вхождения в мир качественной разработки, ни чуть не ниже чем у других «ограничивающих свободы» языков.
Ага)
По крайней мере я именно так понимаю выражение «константный объект».
Вроде так нигде не работает и это все мой воспаленный мозг, но все же хочется))
Но по сути есть же Object.freeze, как по мне логично что const должен вести себя аналогичным образом когда применяется к объектам.
Вопрос 11: const ( который на самом деле НЕ const )

Не особо вы ответили на этот вопрос, ошибка у вас выпала о невозможности заново объявить переменную (если бы убрали const упала бы нужная ошибка).
А имелось ввиду, что const не работает с объектами.
Код ниже вполне ок работает без ошибок (в браузере по крайней мере):

const a = { b: 1 }
a.b = 2


А вообще основная претензия к JS, то что он все разрешает, а основной аргумент автора данной статьи в том, что «сам дурак, не фиг в ногу стрелять».
По такому принципу любой язык хорош, если в нем разобраться.
Язык который ставит ограничения ЗАСТАВЛЯЕТ программиста писать как надо (либо бежать в ужасе), и тем самым повышает профессианализм самого программиста т.к. приходится решать задачи с ограниченным набором инструментов, которые позволяют сделать правильно (не факт, но все же).
А т.к. JS позволяет делать все, программисту чтобы написать нормальный код нужно читать мануалы и книги, это не круто.
А чем классы от прототипа отличаются?
Разве class не просто языковая конструкция, которая сводиться к тому же прототипному наследованию?

Это библиотеки, которые просто реализуют уже известные алгоритмы. Если вам (или кому-то), было лень их реализовать — то это грустно, а не революционно.

Information

Rating
Does not participate
Location
Курган, Курганская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Software Architect
Senior
PHP
Docker
Database
OOP
Algorithms and data structures
Object-oriented design
Database design
Software development
Designing application architecture