шутка про php
Он за кассой стоит.
Он хотя бы работает.
Шутка про html
В него они все одеты.
скорее ткань их одежды от бренда html, а вот шили ее на заводе css
А почему плюсы с жс дерутся? Они же даже в одном помещении не должны находиться
Плюсы увидели эту книгу
почему корова с выменем залазит на лошадь?
Извращенка, небось.
а почему книга так называется?
Расскажи это ноду.
Сейчас можно на чём угодно, что угодно писать.
Сейчас можно на чём угодно, что угодно писать.
При том что сама нода на плюсах написана
когда фронт рассказывает что можно на жсе бек писать
как оказывается можно, если еще писать не чистом js, а на TS, то особых проблем нет.
А можно и на чистом JS, типизация не сильно на что-то влияет.
Ни на что, кроме ебанутых трудноловимых багов, которых вообще не должно было быть.
Только если твой код это каша без всякой архитектуры.
В реальной жизни чаще всего, твоего кода в проекте очень мало, проекту уже дохуя лет, его писали и пишут совместно 30 команд по 10 человек, живущих в разных уголках мира, и с трудом понимающих друг друга, а общая архитектура известна только чуваку, который уволился 5 лет назад, чтобы отдохнуть в психушке.
Я утрирую, но чаще всего так и бывает.
И вот в таком разбираться без типизации - это лучше сразу отправиться за тем архитектором в дурку.
Я утрирую, но чаще всего так и бывает.
И вот в таком разбираться без типизации - это лучше сразу отправиться за тем архитектором в дурку.
Это так, вот это и называется кашей.
Всё равно придётся начать писать е2е тесты, юнит тесты, рефакторить, внедрять внятный линтинг(sonarjs, complexity, max-statements, unicornjs) и код ревью.
Иначе придётся разбираться не только в уже существующей каше но и как натянуть тайпскрипт на говнокод. Тогда уже можно в дурку.
Разбираться в чужом коде на порядок сложнее чем писать с нуля, но этому всё равно придётся учиться как ни крути.
Текущий проект и маленький дашборд с D3 до этого писал сам, покрытие тестами 95%, не считая е2е, каждый кусок кода рефакторился 1-2 раза.
Всё равно придётся начать писать е2е тесты, юнит тесты, рефакторить, внедрять внятный линтинг(sonarjs, complexity, max-statements, unicornjs) и код ревью.
Иначе придётся разбираться не только в уже существующей каше но и как натянуть тайпскрипт на говнокод. Тогда уже можно в дурку.
Разбираться в чужом коде на порядок сложнее чем писать с нуля, но этому всё равно придётся учиться как ни крути.
Текущий проект и маленький дашборд с D3 до этого писал сам, покрытие тестами 95%, не считая е2е, каждый кусок кода рефакторился 1-2 раза.
Если не ясно какого типа/формата результат функции или аргумент или используются сложные обьекты типа obj.prop1.prop2 или нужна помощь IDE чтобы не сломать что-то это значит что код уже запутанный.
Все возможные баги начинаются когда код становится излишне запутанным/нечитаемым. Слышал наверно про Биг О и что это значит.
Особенности языка на котором кодишь должен знать, для JS это приведение типов, this и прочее.
Тесты в этом плане на порядок полезней, минимум на 40% уменьшит количество багов. Плюс можно учиться и рефакторить.
Все возможные баги начинаются когда код становится излишне запутанным/нечитаемым. Слышал наверно про Биг О и что это значит.
Особенности языка на котором кодишь должен знать, для JS это приведение типов, this и прочее.
Тесты в этом плане на порядок полезней, минимум на 40% уменьшит количество багов. Плюс можно учиться и рефакторить.
Я так и представляю. Большой кровавый энтерпрайз. Приходит тебе объект типа user. Их в проекте больше 50 только базовых, не считая неясной хуйни. Ты видишь, что он берется из базы, код этого модуля ты видишь первый, и, возможно, последний раз.
Хуй его знает, как понимать, даже какие поля в этом объекте, если не видеть описание объекта сходу.
Хуй его знает, как понимать, даже какие поля в этом объекте, если не видеть описание объекта сходу.
В этом и есть плюс ТС - он делает копание в коде более удобным, описание, рефакторинг и прочие плюшки с IDE. Но вот качество кода и баги, очень слабо влияет, сил тратится на ТС достаточно, выхлоп маленький.
Писать что-то не вникая что это делает и как в любом случае плохая идея, только сделает энтерпрайз чуточку кровавей.
Писать что-то не вникая что это делает и как в любом случае плохая идея, только сделает энтерпрайз чуточку кровавей.
Влияет на intellisense - подсказки ide, которая покажет тебе несовместимость типов.
А за отсутствие интерфейсов/классов, описывающих объекты - надо увольнять сразу. Потому что опыт человек может еще приобрести, а от долбоебизма вряд ли вылечится.
А за отсутствие интерфейсов/классов, описывающих объекты - надо увольнять сразу. Потому что опыт человек может еще приобрести, а от долбоебизма вряд ли вылечится.
А я как дурак проверяю код юнит и е2е тестами, оказывается можно просто на подсказки IDE смотреть.
Тесты ловят 40%-80% багов, типизация 3%-15%.
Тесты ловят 40%-80% багов, типизация 3%-15%.
А с чего ты взял, что это взаимоисключающие вещи?
Время/силы что можешь потратить на "качество" тоже не бесконечны, а так конечно можно и то и другое использовать.
Хайпа вокруг ТС много, но вот реальность примерно как с киберпанком.
Не больше 15% багов
http://earlbarr.com/publications/typestudy.pdf
https://blog.acolyer.org/2017/09/19/to-type-or-not-to-type-quantifying-detectable-bugs-in-javascript/
Не больше 15% багов
http://earlbarr.com/publications/typestudy.pdf
https://blog.acolyer.org/2017/09/19/to-type-or-not-to-type-quantifying-detectable-bugs-in-javascript/
15% - это лишь конверсия типов, которая хоть и порой трудноуловима, но ловится типовыми решениями. А вот когда у тебя есть сложный объект из вложенных объектов на пару сотен полей, то типизация спасает от опечаток, которые иными способами сложно или даже невозможно выявить. Особенно заметным эффект становится при наследовании.
Только конверсия это процентов 5, 15% всё вместе.
В таком случае действительно удобно, но сложные обьекты и наследование это практически антипаттерн.
Плохой код всегда сложно тестировать, хороший код - почти всегда на порядок проще, могут быть исключения но обычно так.
В таком случае действительно удобно, но сложные обьекты и наследование это практически антипаттерн.
Плохой код всегда сложно тестировать, хороший код - почти всегда на порядок проще, могут быть исключения но обычно так.
Бэк можно писать:
- На языке для браузера (JS)
- На языке для мобильных приложений (Java)
- На языке для игрушек (C#)
- На языке для анализа текста (Perl)
- На фреймворке для языка анализа текста (PHP)
- На бейсике (VB)
- На очень тормозном бейсике (Python)
- На языке для браузера (JS)
- На языке для мобильных приложений (Java)
- На языке для игрушек (C#)
- На языке для анализа текста (Perl)
- На фреймворке для языка анализа текста (PHP)
- На бейсике (VB)
- На очень тормозном бейсике (Python)
Строго типизированные языки дерутся со скриптовыми слабо типизированными и и это классика. А вот питон, сосущий у джиэса это злоба жизни.
А Паскаль - молодец! Нахуй никому не впёрся и даже не пытается.
А Паскаль - молодец! Нахуй никому не впёрся и даже не пытается.
Да, кстати! RUST слишком занят сборкой ядре и компилянием WASM
Смешно госсектор глянь там требования паскаль и дефи 7й)
это ни хуя не смешно
Чувак просто познал дзен и не конкурирует)
госсектор и конкуренция - вещи несовместимые
там ГИГАБАЙТЫ индусского кода на мёртвых (нет компилятора x86) диалектах Паскаля - it археология.
Код там с вкраплениями ассемблера или шестнадцатеричного кода но он не на x86... а какой Гугл в помощь. И пойми что это. Я видел в одном институте сигнализацию из 80 годов так она реализованная на паскале была под проц типо двойки(2х86) и пару сот килобайт ОЗУ и задача перевести на более новое железо...полтора года люди делали...кто-то решил "сэкономить"...люди матерились но сделали почти за мин оклад(времена такие были). Потом выяснилось что таких модулей еще РАБОЧИХ по стране с 10 и туда всё портировали - труд не пропал.
Код там с вкраплениями ассемблера или шестнадцатеричного кода но он не на x86... а какой Гугл в помощь. И пойми что это. Я видел в одном институте сигнализацию из 80 годов так она реализованная на паскале была под проц типо двойки(2х86) и пару сот килобайт ОЗУ и задача перевести на более новое железо...полтора года люди делали...кто-то решил "сэкономить"...люди матерились но сделали почти за мин оклад(времена такие были). Потом выяснилось что таких модулей еще РАБОЧИХ по стране с 10 и туда всё портировали - труд не пропал.
Не, ну обычно с паскаля все начинается.
Мне интересно.
А в чем именно, паскаль (осовремененный) хуже плюсов, кроме оценочного мнения?
Что именно он не может, что может С?
Я говорю не о каких-то экзотических кейсах, а про типовые решения для производственных задач.
Поддержка и реализация ооп - есть,
Полноценная работа с указателями, адресная арифметика, работа с ассемблером есть.
Многопоточность есть
Кроссплатформенность - есть. Интерфейсы, множемтвенное наследование и тд и тп..
Отсутствует синиаксический "сахар", на который все непрерывно дрочат последнее время?
Дык для компилируемых ЯП это вообще пох.
Ещё раз акцентирую - 90% задач, гле испольщуются ЯП - типовые, прикладные.
А в чем именно, паскаль (осовремененный) хуже плюсов, кроме оценочного мнения?
Что именно он не может, что может С?
Я говорю не о каких-то экзотических кейсах, а про типовые решения для производственных задач.
Поддержка и реализация ооп - есть,
Полноценная работа с указателями, адресная арифметика, работа с ассемблером есть.
Многопоточность есть
Кроссплатформенность - есть. Интерфейсы, множемтвенное наследование и тд и тп..
Отсутствует синиаксический "сахар", на который все непрерывно дрочат последнее время?
Дык для компилируемых ЯП это вообще пох.
Ещё раз акцентирую - 90% задач, гле испольщуются ЯП - типовые, прикладные.
ну так-то и сишке сто лет в обед, и юзают ее только потому, что ядра всех популярных осей на ней написаны. бинарный формат вызовов сишки везде проник, как рак.
При взгляде на с, по крайней мере, не хочется блевать.
Ну, покажи свой код, а мы все посмотрим и поблюём.
Что то более вменяемое, чем оценочное мнение, основанное на мемах и собственной безграмотности есть?
Что то более вменяемое, чем оценочное мнение, основанное на мемах и собственной безграмотности есть?
О, агрессивные паскалисты в треде.
С такими предъявами ты пиздуешь нахуй, а паскаль с его бесящими заморочками, типа бегин-енд, и определения переменных в начале функции, которые хороши только для препода в институте, проверяющего лабу, на помойку.
Впрочем, вы с паскалем уже достигли этих целей, так что сидите тихо, и не выебывайтесь.
С такими предъявами ты пиздуешь нахуй, а паскаль с его бесящими заморочками, типа бегин-енд, и определения переменных в начале функции, которые хороши только для препода в институте, проверяющего лабу, на помойку.
Впрочем, вы с паскалем уже достигли этих целей, так что сидите тихо, и не выебывайтесь.
Ты еблан, пытающийся свою глупость переложить на все вокруг и придумывающий мнимые личностные "аргументы" там, где их нет.
Благодаря таким ебанистически самоуверенным хуеплетам, сейчас в отрасли процветает полный пиздец с тоннами говнокода под видом современных технологий и очередных "философий".
Ты представляешь такую прослойку, которая не хочет думать, уметь и вникать, но всегда любят пиздануть чего, как им кажется, остроумного.
Благодаря таким ебанистически самоуверенным хуеплетам, сейчас в отрасли процветает полный пиздец с тоннами говнокода под видом современных технологий и очередных "философий".
Ты представляешь такую прослойку, которая не хочет думать, уметь и вникать, но всегда любят пиздануть чего, как им кажется, остроумного.
зато хочется плакать
если сравнивать не с такими же допотопными сишками, а с чем-то поновее, то годные фишки будут, и весомые.
безопасность. в новых языках еблю с указателями стремятся минимизировать и выносить в явно помеченные загончики.
дженерики. ну и вообще более крутые системы типов.
интроспекция. твой код берет переданный ему тип, и смотрит, что с ним можно сделать. меняет алгоритм в зависимости.
метапрограммирование.
какие-нибудь асинк-эвэйты.
хреновее всего, что в паскале этого всего скорее всего уже никогда не появится. хотя даже плюсы в год по чайной ложке эволюционируют.
безопасность. в новых языках еблю с указателями стремятся минимизировать и выносить в явно помеченные загончики.
дженерики. ну и вообще более крутые системы типов.
интроспекция. твой код берет переданный ему тип, и смотрит, что с ним можно сделать. меняет алгоритм в зависимости.
метапрограммирование.
какие-нибудь асинк-эвэйты.
хреновее всего, что в паскале этого всего скорее всего уже никогда не появится. хотя даже плюсы в год по чайной ложке эволюционируют.
Так зачем паскалю эволюционировать , если ему на замену уже давно поставлен ООП аналог - object Pascal?
его я и имел в виду. и в нем нет ничего из мной упомянутых новых фишек.
задача Pascal неофитов учить, а не бабло рубить. Код написанный в паскале для решения уравнения в Excel будет быстрее считаться. Pascal был первым языком что возможности процессора 3x86 реализовывал полностью - вот с того хайпа он и стал типо стандарта для неофитов. Есть методики обучения и на их создание было потрачено миллионы человеко*часов - и переводить на другие языки методики обучения ДОРОГО и требует спецов очень высокого уровня. А древний паскаль и на 8MHz проце с 1 Мбайт Озу будет работать и учить новых программистов.
Все начинают с паскаля - есть готовые методики по выращиванию программиста... для иных языков нет - там самообразование.
Все начинают с паскаля - есть готовые методики по выращиванию программиста... для иных языков нет - там самообразование.
задача паскаля - продолжать быть дохлым.
нет ни единого преимущества для обучения новичков на паскале. в середине обучения придется подтягивать другие языки, на примере которых разбирать новые концепции, потому что там их тупо нет.
а если их не разбирать - это херовое обучение, оторванное от потребностей индустрии. или мы программировать учимся только для галочки?
есть языки для детей, визуальные, игровые.
для студентов уже лучше учить сразу что-нибудь из того, что они смогут применить для того же диплома.
"переводить на другие языки методики обучения ДОРОГО"
вообще-то всё уже есть, достаточно вытащить голову из задницы и оглядеться вокруг
нет ни единого преимущества для обучения новичков на паскале. в середине обучения придется подтягивать другие языки, на примере которых разбирать новые концепции, потому что там их тупо нет.
а если их не разбирать - это херовое обучение, оторванное от потребностей индустрии. или мы программировать учимся только для галочки?
есть языки для детей, визуальные, игровые.
для студентов уже лучше учить сразу что-нибудь из того, что они смогут применить для того же диплома.
"переводить на другие языки методики обучения ДОРОГО"
вообще-то всё уже есть, достаточно вытащить голову из задницы и оглядеться вокруг
Да ничем он не хуже. Производительность в большинстве случае будет ниже, зато прострелить себе ногу сложнее.
Для прототипирования интерфейса десктопного приложения делфи/лазарус, наверное, вообще самый быстрый вариант.
[Небольшая поправка - если речь про ооп, то там не С, а плюсы]
Для прототипирования интерфейса десктопного приложения делфи/лазарус, наверное, вообще самый быстрый вариант.
[Небольшая поправка - если речь про ооп, то там не С, а плюсы]
Все очень просто: все вышеперечисленное есть в Паскале _сейчас_, а вот первые реализации не имели всех тех плюшек. Наследники типа Modula-2 избавлялись от ограничений и недостатков, а конкуренты (те же Си, например) смотрели на это и учитывали в новых релизах. Почему Си? Потому что ФП достаточно и даже предпочтительнее в контексте системного программирования и, со ли прочего, проще. Системное программирование не решает бизнес-проблему в традиционном её понимании, а создаёт крайне низкоуровневый инструмент, поэтому ООП там как собаке пятая нога. Дальше все стандартно: к появлению плюсов Си успел стать де-факто стандартом в мире и, хоть плюсы и не являются надмножеством С, переехать на них после многих лет на С было куда проще, чем на Паскаль, хоть в последнем и синтаксис приятный, и плюшки подвезли, и Вирт начал думать более широко и продвигать экосистему Паскаля не как системную, а скорее бизнес-ориентированную (привет, Делфи).
Такие дела
Такие дела
Да.
Так и в посте речь про осовремененные ЯП
Сам пост вообще странный. Как можно сравнивать компиляторы с интерпретаторами?
Допуская, что не про физическую реализацию речь и базовые возможности (хотя это очень странно) сравнивать JS с C++ .. даже не знаю.
Я согласен с тем, что ООП - это немного про другое.
И в системных ЯП, важнее иные приоритеты.
.
Так и в посте речь про осовремененные ЯП
Сам пост вообще странный. Как можно сравнивать компиляторы с интерпретаторами?
Допуская, что не про физическую реализацию речь и базовые возможности (хотя это очень странно) сравнивать JS с C++ .. даже не знаю.
Я согласен с тем, что ООП - это немного про другое.
И в системных ЯП, важнее иные приоритеты.
.
> Почему Си?
> Потому что ФП
FP? C? WAT? :-)
> Потому что ФП
FP? C? WAT? :-)
Процедурное походу имелось в виду.
Где Rust который с ноги влетает в С++? что самому прифотошопливать ?
назад на нибиру улетел
вместо JS как раз должен быть Rust. Тогда было бы логичнее.
Ребят, а вот если серьезно, какой язык программирования лучше всего учить новичку? Пиздюк, 17 лет, думаю пойти в какой-нибудь it университет, ниче кроме паскаля не знаю.
Учи webcam
Если нет предпочтений в области, то открываешь вакансии и смотришь каких предложений больше и какой где оклад больше на позицию мидла. Но скорее это java.
Новичку совершенно похуй, ЯП либо вытирают тебе жопу и слюни одной и той же тряпкой, либо качественно взъебывают кукуху. Любой ЯП это абстракция над батхертом, ты всегда будешь гореть либо от того, что можно, либо от того, что нельзя.
учи то про что во всех угла сети насрано, сейчас это срр. какой бы тупой вопрос у тебя не возник какой-то дурак до тебя уже его решил.
английский, в первую очередь :)
шарп или котлин, имхо, где-то в середине спектра того, что есть. и ооп и фп затронуты. в обоих церемониал есть, но без фанатизма (когда его нет - тоже плохо)
шарп или котлин, имхо, где-то в середине спектра того, что есть. и ооп и фп затронуты. в обоих церемониал есть, но без фанатизма (когда его нет - тоже плохо)
Меня конечно закидают говном, но я бы посоветовал С/С++
1)изучая его ты понимаешь как работает программирование, по тому что придется ебаться с кучей говна
2) у него широкая сфера применения
3)он будет у тебя в унике с вероятностью 192239842094%
4)по нему есть куча материалов и даже если у тебя что то не будет получаться 100% был кто то кто уже решил эту проблему
5) ну и после него тебе будет намного проще выучить любой другой язык
1)изучая его ты понимаешь как работает программирование, по тому что придется ебаться с кучей говна
2) у него широкая сфера применения
3)он будет у тебя в унике с вероятностью 192239842094%
4)по нему есть куча материалов и даже если у тебя что то не будет получаться 100% был кто то кто уже решил эту проблему
5) ну и после него тебе будет намного проще выучить любой другой язык
Ну и справедливости ради
Писать всем отдельно спасибо не вижу смысла, но вывод сделал такой - С++ самый обширный и сложный, лучше всего начинать с него, а если получится хорошо в нём освоится то уже будет легче учить другие.
Да прибудет с тобой сила Страуструпа
1) Python, он относительно простой, но применяется и может быть реально полезен.
2) JavaScript тоже простой, но есть недостатки, пока сайт сделаешь пол экосистемы изучишь, а она замороченная.
Если первый или второй пошли хорошо и хочется знаний поглубже и пошире тогда уже берись за С++, Java, Golang и прочих.
2) JavaScript тоже простой, но есть недостатки, пока сайт сделаешь пол экосистемы изучишь, а она замороченная.
Если первый или второй пошли хорошо и хочется знаний поглубже и пошире тогда уже берись за С++, Java, Golang и прочих.
Чтобы вникнуть в сам язык можешь практиковаться на сайтах типа www.codewars.com
Английский разумеется тоже потребуется, документация и глупые вопросы с ответами будут на нём.
Английский разумеется тоже потребуется, документация и глупые вопросы с ответами будут на нём.
Вот выше был один дельный комментарий, я его перефразурию. ЯП - это инструмент. Сначала лучше попытаться определиться с предметной областью в которой хочется работать, а потом посмотреть на чем для нее программируют.
Дальше смотри по количеству вакансий/ зарплатам что востребованней. Так же я бы не гнался за изучением новых и хайпанутых, поковырять их успеешь, если они не вымрут. Как и с естественными языками изучив один - будет проще освоить новый. А жрат надо сейчас.
Если для тебя программирование станет работой или очень серьезным хобби, то ты не будешь ограничиваться только одним языком в течение жизни.
Дальше смотри по количеству вакансий/ зарплатам что востребованней. Так же я бы не гнался за изучением новых и хайпанутых, поковырять их успеешь, если они не вымрут. Как и с естественными языками изучив один - будет проще освоить новый. А жрат надо сейчас.
Если для тебя программирование станет работой или очень серьезным хобби, то ты не будешь ограничиваться только одним языком в течение жизни.
А, дополню. Есть книги не привязанные к конкретному языку - это про алгоритмы и проектирование. Они полезны в любом случае. Ну и английский, без него никуда.
Пиздец, ты же маньяк ебанутый!
Только машинный код, только хардкор! :))))
Трубо Поскакаль
А за кадром сидит здоровяк со следами лоботомии на лысой башке в деловом костюме с подписью "Excel"
А где Dart? Он должен смотреть как избивают Kotlin
Чтобы написать коммент, необходимо залогиниться