Киауа Ру^ап Паскаль / it-юмор :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek 

Киауа
Ру^ап
Паскаль,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и  айтишный юмор


Подробнее
Киауа Ру^ап Паскаль
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор
Еще на тему
Развернуть
шутка про php
Он за кассой стоит.
Он хотя бы работает.
Maledict Maledict 13.12.202002:06 ответить ссылка 21.3
Шутка про html
В него они все одеты.
скорее ткань их одежды от бренда html, а вот шили ее на заводе css
А почему плюсы с жс дерутся? Они же даже в одном помещении не должны находиться
ktulhu74 ktulhu74 12.12.202022:11 ответить ссылка 14.1
Плюсы увидели эту книгу
Good luck with that
Writing
Device Drivers with JavaScript
O’REILLY*
¡It \ul Flanâgan
V/ï/V/.jpiJ.ÏVÎf
почему корова с выменем залазит на лошадь?
Извращенка, небось.
а почему книга так называется?
buryat buryat 29.12.202016:26 ответить ссылка 0.0
Расскажи это ноду.
Сейчас можно на чём угодно, что угодно писать.
b2ne b2ne 13.12.202002:45 ответить ссылка 0.2
При том что сама нода на плюсах написана
когда фронт рассказывает что можно на жсе бек писать
dr9vik dr9vik 13.12.202000:29 ответить ссылка 5.3
как оказывается можно, если еще писать не чистом js, а на TS, то особых проблем нет.
zx48 zx48 13.12.202003:26 ответить ссылка -0.5
А можно и на чистом JS, типизация не сильно на что-то влияет.
Ни на что, кроме ебанутых трудноловимых багов, которых вообще не должно было быть.
Только если твой код это каша без всякой архитектуры.
В реальной жизни чаще всего, твоего кода в проекте очень мало, проекту уже дохуя лет, его писали и пишут совместно 30 команд по 10 человек, живущих в разных уголках мира, и с трудом понимающих друг друга, а общая архитектура известна только чуваку, который уволился 5 лет назад, чтобы отдохнуть в психушке.
Я утрирую, но чаще всего так и бывает.
И вот в таком разбираться без типизации - это лучше сразу отправиться за тем архитектором в дурку.
Это так, вот это и называется кашей.
Всё равно придётся начать писать е2е тесты, юнит тесты, рефакторить, внедрять внятный линтинг(sonarjs, complexity, max-statements, unicornjs) и код ревью.

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

Текущий проект и маленький дашборд с D3 до этого писал сам, покрытие тестами 95%, не считая е2е, каждый кусок кода рефакторился 1-2 раза.
Тесты и прочее, в таких проектах обычно есть, иначе оно вообще не работало бы.
Я просто представил себе кровавый энтерпрайз на жабаскрипте, и ужаснулся.
Ты удивишся:
- Тестов может вообще не быть, и оно как-то работает
- Тесты есть но тестирует то что легче тестировать, а не то что важно для проекта, т.е. размер шрифта именно 16 пикселей тестируется, а то что компонент/страница в целом вообще работает нет.
- Тесты могут быть чисто для виду, т.е. они не краснеют когда что-то перестаёт работать.
- Могут быть только юнит тесты с кучей моков, ломаются часто, но мало что гарантируют
Неа, не удивлюсь.
зависит от количествава программистов
- когда сам пишешь и сам тестируешь... важен результат. Никто на стандартизацию тестов, подробной справки тратить время=деньги не будет. Обычно "мало работающая" альфа версия устраивает заказчика на пару лет.
- когда команда до 6 рыл. Тесты формальны - написаны на парочке листов А4. Упарываются обычно по написанию подробной справки для людей с IQ менее 20 из 150. Там Программное Обеспечение 1 Мбайт и к нему 20 Мбайт справка с картинками и пару гиг роликов.
- когда команда более 6 человек то стандартизация наше ВСЁ - причём стандарты не какие модные, а в какие умеют конкретно взятые люди, а то и свои вводят(обозвав новомодным словом).
Если не ясно какого типа/формата результат функции или аргумент или используются сложные обьекты типа obj.prop1.prop2 или нужна помощь IDE чтобы не сломать что-то это значит что код уже запутанный.
Все возможные баги начинаются когда код становится излишне запутанным/нечитаемым. Слышал наверно про Биг О и что это значит.

Особенности языка на котором кодишь должен знать, для JS это приведение типов, this и прочее.

Тесты в этом плане на порядок полезней, минимум на 40% уменьшит количество багов. Плюс можно учиться и рефакторить.
Я так и представляю. Большой кровавый энтерпрайз. Приходит тебе объект типа user. Их в проекте больше 50 только базовых, не считая неясной хуйни. Ты видишь, что он берется из базы, код этого модуля ты видишь первый, и, возможно, последний раз.
Хуй его знает, как понимать, даже какие поля в этом объекте, если не видеть описание объекта сходу.
В этом и есть плюс ТС - он делает копание в коде более удобным, описание, рефакторинг и прочие плюшки с IDE. Но вот качество кода и баги, очень слабо влияет, сил тратится на ТС достаточно, выхлоп маленький.

Писать что-то не вникая что это делает и как в любом случае плохая идея, только сделает энтерпрайз чуточку кровавей.
Почему не вникая? Очень даже вникая, и типизация для этого необходима. Со временем учишься читать код очень быстро, даже на неизвестном тебе языке, такое тоже сплошь и рядом. Потому нетипизированные и не люблю, в них нужно на порядок больше времени понять с ходу, что происходит.
И да, 50+% времени в энтерпрайзе ты код не пишешь, а читаешь. Написанный тысячами разных людей в разное время, большинство из которых уволилось, а некоторые и умерли. Основанный на библиотеках, последнее обновление которых датируется 2009 годом. Спроектированного разными людьми с разными подходами.
Маленький, свежий проект, который может охватить один или несколько человек, стерпит всё, даже нетипизированность. В крупном проекте на миллионы строк, который старше некоторых текущих разработчиков, и который один человек не может знать весь физически, совсем другие правила.
Главное отличие хорошего кода можно сходу понять что он делает, чтобы понять как уже нужно вникать.

В среднем проекте под конец всё упёрлось именно в сложность, неочевидные зависимости и то что не вникали в то как работают стороние библиотеки, в результате гвозди забивались микроскопом, ситуация когда меняешь в одном месте и ломается в другом.
Сложно, но с е2е тестами вникал и рефакторил. Разгрёб кашу в нескольких местах, но так и не закончил, появились проекты поважнее.

Суть в том что система в целом может быть сложной, но каждый отдельный компонент должен быть понятным и должен быть единый подход как связать это всё в единое целое.
А если тупо добавить в кашу ещё и ТС то будет чуть удобней разбираться, но в долгосрочной перспективе код продолжает становиться хуже как и ситуация.
Я тебе пытаюсь сказать, что в большом проекте всегда будет много говна. И без типизации такой проект давно бы умер, так как поддерживать его не смог бы никто и никогда. Именно потому нет ни одного крупного проекта с большой логической связностью на нетипизированных языках - они умирают, если становятся большими.
И по-другому не бывает, потому что ни один бизнес не даст времени на переписывание и оптимизацию всего проекта. А переписывание маленьких кусков в 9 из 10 случаев кончается тем, что в прокте теперь две версии одного и того же, старая и новая, и тянуть надо обе.
Ещё одна правда жизни в том, что большинство кода в таких проектах тебе просто достается как есть, ты не выбираешь, каким он будет. И это может быть как лютое говно, так и вполне правильно спроектированный кусок. Или сразу и то, и другое, когда спроектированно хорошо, но из-за ебанутых требований, появившихся позже, обложено тысячью костылей.
И это, несмотря ни на что, работает, и дописывается. Без типизации это было бы тупо невозможно (точнее, возможно, но настолько дорого, что проще выбросить).
Много достаточно больших/сложных проектов без строгой типизации - Vuejs, ExpressJS, Webpack, D3, three.js, emqx, emacs.
Очень большие проекты будут распадаться на модули и микросервисы.

"И по-другому не бывает, потому что ни один бизнес не даст времени на переписывание и оптимизацию всего проекта"
На текущем месте дают. 2 недели на рефакторинг сейчас сэкономят 2 месяца в будущем, но не все это понимают.

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

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

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

Нет прямой корреляции между типизацией и качеством кода или количеством багов, да багов может меньше на 3-5%, но цена за это велика и это не решает основную проблему.
Прости, но какова цена типизации? Она же нулевая.
Может в языках где она есть сразу цена незначительна, с JS/TS нет.

- Код становится сложнее читать, больше бойлерплейта. Может в случае с лапшой ТС как-то помогает, но это постоянно расходует время и силы. В один момент можешь держать в голове очень ограниченное кол-во вещей
- Типы/интерфейсы тоже могут быть кривыми и с ними придётся разбираться, это тоже время, практически дублируешь код на ещё одном уровне
- Скорость компиляции
- Даёт ложное чувство что если типизация строгая то код хороший и багов быть не должно. Качество архитектуры проверяется когда меняются требования, а баги чаще из-за логики, подхода и незнания языка/библиотеки а не из-за типов
- Гибкость кода страдает, код становится сложнее менять/рефакторить

Пробовал в своё время и тайпскрипт и флоу(та ещё гадость), не увидел особых плюсов.
Нормальные тесты для сравнения даёт огромный эффект, вопрос жизни и смерти. Хотя их тоже муторно осваивать и писать.
> В один момент можешь держать в голове очень ограниченное кол-во вещей

И вот как раз когда типы прописаны явно - тебе не приходится держать их в голове.

> Скорость компиляции

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

> Даёт ложное чувство что если типизация строгая то код хороший

Какие странные фантазии...

> Гибкость кода страдает, код становится сложнее менять/рефакторить

Ровно наоборот
rjhdby rjhdby 13.12.202011:47 ответить ссылка 0.9
"И вот как раз когда типы прописаны явно - тебе не приходится держать их в голове."

А мне и не надо, по названию функции/переменной я знаю что там за данные могут быть.

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

Для этого есть тесты, QA и настроенный CI.

"Какие странные фантазии..."

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

Осталось доказать корреляцию строгой типизации с количеством говнокода и задачу о натягивании совы на глобус можно считать выполненной.
rjhdby rjhdby 13.12.202012:00 ответить ссылка 0.0
Конечно есть корреляция.

Нанимают 5-10 джуниоров -> они пишут лютую лапшу -> появляются баги и становится сложно поддерживать -> пытаются исправить налепив сверху ТС.

Там где много джуниоров, нет внятной культуры ревьювить код, тестов и прочего и вероятно текучка кадров там тайпскрипт сильно пригождается.
Выход проще не работать на таких галерах.
у меня знакомый пишет на реакте
рассказывает охуенные истории что на жсе бекенд писать можно
в конфе сидят еще 2 бекендера и тиха ржут
ты его брат чтоле?
dr9vik dr9vik 13.12.202012:08 ответить ссылка -1.1
Можно и на JS, никто не запрещает, правда nodejs муторно дебажить, проще на Python/ruby/elixir.
Бэкендеров с 10 летним опытом и руками из задницы тоже видел, могут ржать сколько угодно.
https://www.simform.com/which-companies-use-nodejs/
Можно посочувствовать твоему знакомому.
О да! А там, где нет типизации, там автокристаллизуется такой clean code, что хоть в палату мер и весов, дяде Бобу бальзамом на душу, ога. :D
rjhdby rjhdby 13.12.202015:29 ответить ссылка -0.2
Ну напиши статью с примерами как ТС улучшает код.
Ты этого конечно делать не будешь т.к. будет заметно что кроме заявлений ничего показать не можешь.
Ну так-то у меня довольно много статей на хабре. Но ты прав, я не буду писать отдельную статью, чтобы доказывать мамкиному праграмисту очевидные вещи.
rjhdby rjhdby 13.12.202016:33 ответить ссылка -1.2
Ну как всегда, статьи и может даже учёные степени, но показать нечего. Ну ничего страшного.
Не вижу смысла метать бисер, сорян.
rjhdby rjhdby 13.12.202016:41 ответить ссылка 0.0
>А мне и не надо, по названию функции/переменной я знаю что там за данные могут быть.

Мухахахахахахаха!

Вот ты явно не видел даже средних проектов, на каких-нибудь всего пару сотен тысяч строк.
Обычно в переменных не простые типы, а объекты, ебучие деревья объектов. Потому что бизнес-сущности сложные, и если не паковать их в объекты, мы получим тысячи переменных, такой трэш был до изобретения ООП.
Различных объектов в проетах сотни тысяч. И структуру каждого помнить физически невозможно.
ООП не значит что это буквально должны быть обьекты, это может быть функция/модуль/файл/класс. ООП о разделение сущностей по их назначению.
Если бизнес логика отражается в таких "деревьях" а не в модулях/компонентах/архитектуре тут проблема не с типами. И поддерживать такое наверное ад.
> А мне и не надо, по названию функции/переменной я знаю что там за данные могут быть.

На заборе "ХУЙ" написано, а за ним дрова.
rjhdby rjhdby 13.12.202015:31 ответить ссылка -0.3
Ну так называй по-нормальному, никто не мешает.
А при чём тут я, когда ей сто лет в обед и она через сотню рук прошла?
rjhdby rjhdby 13.12.202016:18 ответить ссылка -0.4
Ну будь первым кто это исправить вместо того чтобы отнекиваться.
>- Код становится сложнее читать, больше бойлерплейта. Может в случае с лапшой ТС как-то помогает, но это постоянно расходует время и силы. В один момент можешь держать в голове очень ограниченное кол-во вещей

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

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

Я нихуя не понял, что ты хотел сказать.

>- Скорость компиляции

Компиляция? А какие языки без типизации компилируемые?
И, скорее всего, будет ровно наоборот, если таки будет возможна компиляция. Ибо компилятору инфа о типах нужна, а значит, ему откуда-то надо её получить. А раз она не задана явно, компилятору придется типы выводить, и это всяко сложнее, чем прочитать заданные.

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

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

>- Гибкость кода страдает, код становится сложнее менять/рефакторить

Тут необходим пример.
"Ровно, блять, наоборот. Сложный код без типизации читать радикально труднее, чем типизированный. А для простого кода похуй."

Про SOLID, DRY, KISS что-нибудь слышал? Про то что большая задача дробиться на маленькие и код тоже делиться на небольшие модули/блоки как угодно.
"Сложный код" - вежливое название для говнокода.
Пока что везде где я видел "сложный" код его можно было отрефакторить до состояния когда понятно что и как он делает.

"Я нихуя не понял, что ты хотел сказать."
То что это нет так просто и очевидно как эти типы объявлять в разных ситуациях.

"Компиляция? А какие языки без типизации компилируемые?"

Правильней сказать транспиляция с ТС, сути это не меняет. Компиляция JS кода происходит Just-In-Time прямо перед выполнением, ТС типы никак на неё не влияют.

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

Каков процент этих багов?
Если в функцию прокидывается 10 аргументов или используются сложные объекты с вложенной структорой то это в любом случае ад и шиткод, это по-любому будет сложно поддерживать.
Тайпскрипт получается как такой фонарик на голову чтобы удобней было в кале ковыряться.
Сложный код - это сложный код. В котором дохуя сложных сущностей, которые сложным образом взаимодеймтвуют. И структуру этих сущностей, как и сложность взаимодействия, определяешь не ты, а задача.
Можно раздробить код на миллион простых функций, но он от этого станет только ещё более сложным, особенно без типизации, ибо будет невозможно разобраться, какие именно объекты какая функция принимает. А в серверном коде, если ты пишешь бизнес-приложение, в 99% это сложные объекты с дохуя полей, отображающие реальные бизнес-сущности, и куча сопутствующих объектов, в которых есть ещё и логика. С простыми типами работы очень мало и редко.
Это же блять не UI, мы с самого начала про серверный код.
Видел исходники кода на Ruby для средней финансовой организации, виза/мастеркард/прочие, платежи, транзакции, API для дашборда, несколько плагинов для платформ интернет магазинов и т.д.

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

"ибо будет невозможно разобраться, какие именно объекты какая функция принимает. "
Мне кажется эта идея с объектами так себе.
Я тоже видел.
На самом деле, ты говоришь про то, как лучше, а я - про то, как бывает.
Относительно новые проекты действительно спроектированы лучше, чем старые, да и идея раздельных микросервисов не просто так родилась.
А за копание в древнем говнокоде больше платят.
Вот и весь спор.
Влияет на intellisense - подсказки ide, которая покажет тебе несовместимость типов.

А за отсутствие интерфейсов/классов, описывающих объекты - надо увольнять сразу. Потому что опыт человек может еще приобрести, а от долбоебизма вряд ли вылечится.
Hellsy Hellsy 14.12.202011:58 ответить ссылка -0.3
А я как дурак проверяю код юнит и е2е тестами, оказывается можно просто на подсказки IDE смотреть.
Тесты ловят 40%-80% багов, типизация 3%-15%.
А с чего ты взял, что это взаимоисключающие вещи?
Hellsy Hellsy 16.12.202022:22 ответить ссылка 0.0
Время/силы что можешь потратить на "качество" тоже не бесконечны, а так конечно можно и то и другое использовать.
Типизировать все на этапе написания - не стоит почти ничего.
Hellsy Hellsy 18.12.202012:40 ответить ссылка 0.0
Хайпа вокруг ТС много, но вот реальность примерно как с киберпанком.
Не больше 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% - это лишь конверсия типов, которая хоть и порой трудноуловима, но ловится типовыми решениями. А вот когда у тебя есть сложный объект из вложенных объектов на пару сотен полей, то типизация спасает от опечаток, которые иными способами сложно или даже невозможно выявить. Особенно заметным эффект становится при наследовании.
Hellsy Hellsy 16.12.202022:25 ответить ссылка 0.0
Только конверсия это процентов 5, 15% всё вместе.

В таком случае действительно удобно, но сложные обьекты и наследование это практически антипаттерн.
Плохой код всегда сложно тестировать, хороший код - почти всегда на порядок проще, могут быть исключения но обычно так.
Назвать ООП - антипаттерном, это вообще сильно.
Hellsy Hellsy 18.12.202012:51 ответить ссылка 0.0
Про ООП это ты домыслил.
Про недостатки наследования много материала, я понимаю что ты провёл последние несколько лет в этом кровавом энтерпрайзе, но иногда стоит читать что-то для расширения кругозора.
https://en.wikipedia.org/wiki/Composition_over_inheritance
https://www.quora.com/Is-inheritance-bad-practice-in-OOP-Many-places-that-teach-design-patterns-say-to-opt-for-composition-over-inheritance-but-what-about-when-multiple-classes-share-logic-from-an-abstract-class-such-as-in-the-Template-Method-design-pattern
https://medium.com/@lord.peeve/inheritance-hell-4a17d6782f69
Композиция - это не новая концепция, она постарше иных программистов. И она не заменяет наследование, а является лишь еще одним базовым инструментом.
Hellsy Hellsy 18.12.202019:39 ответить ссылка 0.0
Бэк можно писать:
- На языке для браузера (JS)
- На языке для мобильных приложений (Java)
- На языке для игрушек (C#)
- На языке для анализа текста (Perl)
- На фреймворке для языка анализа текста (PHP)
- На бейсике (VB)
- На очень тормозном бейсике (Python)
Hellsy Hellsy 14.12.202012:03 ответить ссылка 0.1
Строго типизированные языки дерутся со скриптовыми слабо типизированными и и это классика. А вот питон, сосущий у джиэса это злоба жизни.

А Паскаль - молодец! Нахуй никому не впёрся и даже не пытается.
Да, кстати! RUST слишком занят сборкой ядре и компилянием WASM
Смешно госсектор глянь там требования паскаль и дефи 7й)
Kzawr Kzawr 13.12.202001:20 ответить ссылка 0.4
это ни хуя не смешно
villy villy 13.12.202001:35 ответить ссылка 1.3
Чувак просто познал дзен и не конкурирует)
Kzawr Kzawr 13.12.202001:40 ответить ссылка 0.4
госсектор и конкуренция - вещи несовместимые
villy villy 13.12.202001:47 ответить ссылка 2.5
там ГИГАБАЙТЫ индусского кода на мёртвых (нет компилятора x86) диалектах Паскаля - it археология.
Код там с вкраплениями ассемблера или шестнадцатеричного кода но он не на x86... а какой Гугл в помощь. И пойми что это. Я видел в одном институте сигнализацию из 80 годов так она реализованная на паскале была под проц типо двойки(2х86) и пару сот килобайт ОЗУ и задача перевести на более новое железо...полтора года люди делали...кто-то решил "сэкономить"...люди матерились но сделали почти за мин оклад(времена такие были). Потом выяснилось что таких модулей еще РАБОЧИХ по стране с 10 и туда всё портировали - труд не пропал.
Не, ну обычно с паскаля все начинается.
Мне интересно.
А в чем именно, паскаль (осовремененный) хуже плюсов, кроме оценочного мнения?
Что именно он не может, что может С?
Я говорю не о каких-то экзотических кейсах, а про типовые решения для производственных задач.
Поддержка и реализация ооп - есть,
Полноценная работа с указателями, адресная арифметика, работа с ассемблером есть.
Многопоточность есть
Кроссплатформенность - есть. Интерфейсы, множемтвенное наследование и тд и тп..
Отсутствует синиаксический "сахар", на который все непрерывно дрочат последнее время?
Дык для компилируемых ЯП это вообще пох.
Ещё раз акцентирую - 90% задач, гле испольщуются ЯП - типовые, прикладные.
b.o.g b.o.g 13.12.202002:24 ответить ссылка 0.5
ну так-то и сишке сто лет в обед, и юзают ее только потому, что ядра всех популярных осей на ней написаны. бинарный формат вызовов сишки везде проник, как рак.
villy villy 13.12.202004:57 ответить ссылка 1.1
При взгляде на с, по крайней мере, не хочется блевать.
Ну, покажи свой код, а мы все посмотрим и поблюём.
Что то более вменяемое, чем оценочное мнение, основанное на мемах и собственной безграмотности есть?
b.o.g b.o.g 13.12.202008:26 ответить ссылка 1.4
О, агрессивные паскалисты в треде.
С такими предъявами ты пиздуешь нахуй, а паскаль с его бесящими заморочками, типа бегин-енд, и определения переменных в начале функции, которые хороши только для препода в институте, проверяющего лабу, на помойку.
Впрочем, вы с паскалем уже достигли этих целей, так что сидите тихо, и не выебывайтесь.
Ты еблан, пытающийся свою глупость переложить на все вокруг и придумывающий мнимые личностные "аргументы" там, где их нет.
Благодаря таким ебанистически самоуверенным хуеплетам, сейчас в отрасли процветает полный пиздец с тоннами говнокода под видом современных технологий и очередных "философий".
Ты представляешь такую прослойку, которая не хочет думать, уметь и вникать, но всегда любят пиздануть чего, как им кажется, остроумного.
b.o.g b.o.g 14.12.202011:07 ответить ссылка -0.9
зато хочется плакать
villy villy 13.12.202013:53 ответить ссылка 0.5
если сравнивать не с такими же допотопными сишками, а с чем-то поновее, то годные фишки будут, и весомые.
безопасность. в новых языках еблю с указателями стремятся минимизировать и выносить в явно помеченные загончики.
дженерики. ну и вообще более крутые системы типов.
интроспекция. твой код берет переданный ему тип, и смотрит, что с ним можно сделать. меняет алгоритм в зависимости.
метапрограммирование.
какие-нибудь асинк-эвэйты.

хреновее всего, что в паскале этого всего скорее всего уже никогда не появится. хотя даже плюсы в год по чайной ложке эволюционируют.
villy villy 13.12.202014:29 ответить ссылка 0.0
Так зачем паскалю эволюционировать , если ему на замену уже давно поставлен ООП аналог - object Pascal?
его я и имел в виду. и в нем нет ничего из мной упомянутых новых фишек.
villy villy 04.01.202111:15 ответить ссылка 0.0
задача Pascal неофитов учить, а не бабло рубить. Код написанный в паскале для решения уравнения в Excel будет быстрее считаться. Pascal был первым языком что возможности процессора 3x86 реализовывал полностью - вот с того хайпа он и стал типо стандарта для неофитов. Есть методики обучения и на их создание было потрачено миллионы человеко*часов - и переводить на другие языки методики обучения ДОРОГО и требует спецов очень высокого уровня. А древний паскаль и на 8MHz проце с 1 Мбайт Озу будет работать и учить новых программистов.
Все начинают с паскаля - есть готовые методики по выращиванию программиста... для иных языков нет - там самообразование.
задача паскаля - продолжать быть дохлым.
нет ни единого преимущества для обучения новичков на паскале. в середине обучения придется подтягивать другие языки, на примере которых разбирать новые концепции, потому что там их тупо нет.
а если их не разбирать - это херовое обучение, оторванное от потребностей индустрии. или мы программировать учимся только для галочки?

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

"переводить на другие языки методики обучения ДОРОГО"
вообще-то всё уже есть, достаточно вытащить голову из задницы и оглядеться вокруг
villy villy 05.01.202123:22 ответить ссылка 0.0
Именно по этому и получаем на выходе "специалистов" не знающих принципов работы железа. Именно по этому, например, хабр превратился в помойку графоманов и кучу новомодных словечек, за которыми стоят старые технологии. Но куда нам, мы же все новое любим. В итоге, простые сайты с современными мощностями выч техники тормозят пиздец.
b.o.g b.o.g 06.01.202102:29 ответить ссылка -0.9
почему поэтому?
потому что не настольео ёбнулись, чтоб на досовском паскале с 1Мб озу детец учить?
villy villy 06.01.202105:09 ответить ссылка 0.0
дада.. главное, побольше агрессии. это придает "весомость" аргументам.
уж насмотрелся я на вас "продвинутых". заучиваете как мантры всякую ахинею без понимания происходящих процессов. Тысячи их. Насмотревшихся видосиков и онлайн курсов и т.д. и т.п.

следуя твоей логике детей надо учить сразу на горных лыжах финты крутить вместо постепенного обучения хождению.
b.o.g b.o.g 06.01.202111:21 ответить ссылка -0.9
ты хотя бы свою дебильную позицию обозначь, уёба, тогда можно будет поспорить предметно, на примерах показать, какой ты дятел
villy villy 06.01.202111:27 ответить ссылка 0.0
Иди нахуй, дарагой. Если у тебя мозга не хватает понять элементарные вещи, то никакое разжевывание не поможет.
b.o.g b.o.g 06.01.202114:10 ответить ссылка -0.9
пиздец ты наркоман нахуй
villy villy 06.01.202114:18 ответить ссылка 0.0
влетел такой в обсуждение "вы тут нихуя не понимаете, я один всё знаю, но что конкретно я знаю - нихуя не скажу"
ты думал это сработает? сразу все твой авторитет признают
дебил, бля!
villy villy 06.01.202114:21 ответить ссылка 0.0
Да ничем он не хуже. Производительность в большинстве случае будет ниже, зато прострелить себе ногу сложнее.
Для прототипирования интерфейса десктопного приложения делфи/лазарус, наверное, вообще самый быстрый вариант.

[Небольшая поправка - если речь про ооп, то там не С, а плюсы]
fzrr fzrr 13.12.202014:32 ответить ссылка 0.4
Все очень просто: все вышеперечисленное есть в Паскале _сейчас_, а вот первые реализации не имели всех тех плюшек. Наследники типа Modula-2 избавлялись от ограничений и недостатков, а конкуренты (те же Си, например) смотрели на это и учитывали в новых релизах. Почему Си? Потому что ФП достаточно и даже предпочтительнее в контексте системного программирования и, со ли прочего, проще. Системное программирование не решает бизнес-проблему в традиционном её понимании, а создаёт крайне низкоуровневый инструмент, поэтому ООП там как собаке пятая нога. Дальше все стандартно: к появлению плюсов Си успел стать де-факто стандартом в мире и, хоть плюсы и не являются надмножеством С, переехать на них после многих лет на С было куда проще, чем на Паскаль, хоть в последнем и синтаксис приятный, и плюшки подвезли, и Вирт начал думать более широко и продвигать экосистему Паскаля не как системную, а скорее бизнес-ориентированную (привет, Делфи).

Такие дела
Да.
Так и в посте речь про осовремененные ЯП
Сам пост вообще странный. Как можно сравнивать компиляторы с интерпретаторами?
Допуская, что не про физическую реализацию речь и базовые возможности (хотя это очень странно) сравнивать JS с C++ .. даже не знаю.
Я согласен с тем, что ООП - это немного про другое.
И в системных ЯП, важнее иные приоритеты.

.
b.o.g b.o.g 14.12.202011:16 ответить ссылка 0.0
> Почему Си?
> Потому что ФП

FP? C? WAT? :-)
faiwer faiwer 14.12.202011:22 ответить ссылка -0.2
Процедурное походу имелось в виду.
Где Rust который с ноги влетает в С++? что самому прифотошопливать ?
назад на нибиру улетел
villy villy 13.12.202001:36 ответить ссылка 0.5
вместо JS как раз должен быть Rust. Тогда было бы логичнее.
SteelRat SteelRat 13.12.202001:41 ответить ссылка 0.1
Ребят, а вот если серьезно, какой язык программирования лучше всего учить новичку? Пиздюк, 17 лет, думаю пойти в какой-нибудь it университет, ниче кроме паскаля не знаю.
speedgun speedgun 13.12.202002:40 ответить ссылка -0.6
Учи webcam
Если нет предпочтений в области, то открываешь вакансии и смотришь каких предложений больше и какой где оклад больше на позицию мидла. Но скорее это java.
Новичку совершенно похуй, ЯП либо вытирают тебе жопу и слюни одной и той же тряпкой, либо качественно взъебывают кукуху. Любой ЯП это абстракция над батхертом, ты всегда будешь гореть либо от того, что можно, либо от того, что нельзя.
Supert Supert 13.12.202003:19 ответить ссылка 1.4
учи то про что во всех угла сети насрано, сейчас это срр. какой бы тупой вопрос у тебя не возник какой-то дурак до тебя уже его решил.
английский, в первую очередь :)
шарп или котлин, имхо, где-то в середине спектра того, что есть. и ооп и фп затронуты. в обоих церемониал есть, но без фанатизма (когда его нет - тоже плохо)
villy villy 13.12.202004:38 ответить ссылка 0.4
Меня конечно закидают говном, но я бы посоветовал С/С++
1)изучая его ты понимаешь как работает программирование, по тому что придется ебаться с кучей говна
2) у него широкая сфера применения
3)он будет у тебя в унике с вероятностью 192239842094%
4)по нему есть куча материалов и даже если у тебя что то не будет получаться 100% был кто то кто уже решил эту проблему
5) ну и после него тебе будет намного проще выучить любой другой язык
Python developer learning C++
C++
Developer
learning
Python
Ну и справедливости ради
C++ developer Python developer learning Python learning C++
C++ developer using C++
Python developer using Python
Писать всем отдельно спасибо не вижу смысла, но вывод сделал такой - С++ самый обширный и сложный, лучше всего начинать с него, а если получится хорошо в нём освоится то уже будет легче учить другие.
Да прибудет с тобой сила Страуструпа
1) Python, он относительно простой, но применяется и может быть реально полезен.
2) JavaScript тоже простой, но есть недостатки, пока сайт сделаешь пол экосистемы изучишь, а она замороченная.

Если первый или второй пошли хорошо и хочется знаний поглубже и пошире тогда уже берись за С++, Java, Golang и прочих.
Чтобы вникнуть в сам язык можешь практиковаться на сайтах типа www.codewars.com
Английский разумеется тоже потребуется, документация и глупые вопросы с ответами будут на нём.
Вот выше был один дельный комментарий, я его перефразурию. ЯП - это инструмент. Сначала лучше попытаться определиться с предметной областью в которой хочется работать, а потом посмотреть на чем для нее программируют.
Дальше смотри по количеству вакансий/ зарплатам что востребованней. Так же я бы не гнался за изучением новых и хайпанутых, поковырять их успеешь, если они не вымрут. Как и с естественными языками изучив один - будет проще освоить новый. А жрат надо сейчас.

Если для тебя программирование станет работой или очень серьезным хобби, то ты не будешь ограничиваться только одним языком в течение жизни.
60mA 60mA 13.12.202011:09 ответить ссылка 0.1
А, дополню. Есть книги не привязанные к конкретному языку - это про алгоритмы и проектирование. Они полезны в любом случае. Ну и английский, без него никуда.
60mA 60mA 13.12.202011:11 ответить ссылка 0.0
MASM64
Jx+Jy=Jp Jx+Jy=Jp 13.12.202003:56 ответить ссылка 0.3
Пиздец, ты же маньяк ебанутый!
Только машинный код, только хардкор! :))))
zer0n zer0n 13.12.202018:01 ответить ссылка 0.0
Трубо Поскакаль
Tyekanik Tyekanik 13.12.202004:43 ответить ссылка 0.7
А за кадром сидит здоровяк со следами лоботомии на лысой башке в деловом костюме с подписью "Excel"
hippon hippon 13.12.202012:23 ответить ссылка 0.0
А где Dart? Он должен смотреть как избивают Kotlin
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
One morning you wake up find out you have access to God’s developer console. What’s the first thing you do with this power?
Discussion
♦ 154 +	W 479	& Share
^ BEST COMMENTS ▼
I like forks • 5h
hehe3301 • 7h
sudo rm -rf oceans/*/contents/
*.plástic
sudo rm -rf people/*/*.cáncer sudo rm -rf v
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор без перевода it humor geek it юмор

One morning you wake up find out you have access to God’s developer console. What’s the first thing you do with this power? Discussion ♦ 154 + W 479 & Share ^ BEST COMMENTS ▼ I like forks • 5h hehe3301 • 7h sudo rm -rf oceans/*/contents/ *.plástic sudo rm -rf people/*/*.cáncer sudo rm -rf v
¿i
OR IS IT TESTING ME?
Й Tasmanian Fox
@tasmanianfox
• •
Знаете, как называлась бы библиотека на Pascal для работы с платформой CUDA? PasCuda!
3:35 РМ • 7 мая 2021 г. • Twitter Web App
3 ретвита 35 отметок «Нравится»
подробнее»

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

Tasmanian Fox @tasmanianfox • • Знаете, как называлась бы библиотека на Pascal для работы с платформой CUDA? PasCuda! 3:35 РМ • 7 мая 2021 г. • Twitter Web App 3 ретвита 35 отметок «Нравится»