відповідь на https://replace.org.ua/post/129097/#p129097 , щоб стопЄ засирати ту чудову тему (бо получиться, як завжди -- розпочинали за здравіє, а закінчили за упокій )
FakiNyan написав:221VOLT написав:leofun01 написав:За часів заснування проекту мені довелось вибирати між кількома мовами (C++, Java, C#, Python, PHP, Haskell).
Haskell вилетів зі списку першим, через відсутність ООП, і складність підтримки проекту.
Поки нема документації по коду - так, це жах.
Не робіть, не повторюйте моїх помилок. Я вже наступив на ці граблі, тільки час марно потратив.
Замість "простенького конструктора" використовую Inkscape, але він "пише не охайно", після нього доводиться повністю переписувати.
не розумію, в чім там складність підтримки
не розумію, про які саме корисні потрібні властивості ООП, відсутні в haskell, йде мова
(мб тому, що я ще не повністю вивчив хаскель, "не осилив" ООП, та не розумію, чому так багато людей навколо так захоплено видихає "ООП, ООП")
та ні, я скоріше про сам код, організацію коду та синтаксис
(мої особисті заморочки по темі "подобається/не подобається", не звертайте уваги)
чому граблі та час марно потратив?
FakiNyan написав:пишіть на js, для строгої типізації можна було б typescript накатити, я вам кажу, круто було б.
прошу пробачення за оффтоп, а у чім перевага js над haskell чи C# (в контексті цієї теми)?
допустимо, в haskell багато де ноги з математики ростуть, C# -- приємний звичний інструмент для ТС, а js ?
там багато приколів є, а ще то можна в бровзері запускати, зараз весь світ рухається в сторону того,, що більшість завдань можна буде робити в бровзері + бровзери всюди є, а це означає, що для кодування пану леофун01 треба буде лише бровзер, бровзер може бути навіть на мобілці. Ви уявляєте? От поїхав пан леофун01 в сусіднє село до дівчат, а дівчата не прийшли, і шо робити? правильно, діставати свого мобільного девайса і кодити! JS дозволяє робити то без проблем.
І якщо пану леофун01 колись набридне математика, і він захоче просто шльопати формочки і додавати 2 до 2 використовуючи якийсь модній сучасний фреймворк - то він вже буде знати JS, і йому не потрібно буде напружуватись з пошуком роботи.
га шо, перепрошую?
в js багато приколів?
це типу коли точно не зрозуміло, чи код виконується по-рядково (в порядку, як написано),
чи синхронно, чи асинхронно,
і не зрозуміло, чи справді асинхронність асинхронна, чи псевдоасинхронна?
чи ви про те, що області видимості можуть то вверх, то вниз провалюватись?
коли в одноіменних змінних в різної вложеності функціях може бути не те, що очікувалось,
і це не очевидно знайти та виправити?
чи про оці всі незручності, коли в мові немає паттерн матчингу,
потрібно строчити довгі соплі з іфів та гори зайвих непотрібних дужечок
(от же срань ці всі сішка-стайл дужечки, коли це все вимре???),
до того ще функції вищого порядку незручні, в наявності гумові соплі коллбеків,
і таймери з їх псевдоасинхронністю ходять зовсім не одинаково, в різнобой розбігаються, жодної точності...
npm з нодою -- якась дичь, жесть вааще, цей депенденсі ад писався шизанутими мавпами під музичний супровід у вигляді скреготіння тупим ножом по ржавому даху?
така версія пояснює, чому для якогось елементарного функціоналу, який вирішується в буквально 3-5 строк vanilla.js та за 5хв максимум, натомість потрібно качати від 100Мб якогось лайна
це ж тотальне безумя
алгоритми встановлення та оновлення версії ноди та нпм продумувалися укуреною тупою блондинкою з пмс, після нічної шумної вечірки, вранці напротязі п'яти хвилин, з похмілля та недосипу?
інакше я не можу пояснити те, що остання версія ноди та npm так непросто ставиться/апгрейдиться --
я цю падлюку уже разів з 5 встановлював, і кожного разу -- це якісь танці з бубнами на декілька годин,
з встановленням та знесенням старіших версій, включаючи дефолтну для ноди ситуацію, одним словом ємко визначену як "х**та" -- тобто, ви встановлюєте останню версію ноди, перевіряєте командою вивід версії -- вам пише що версія остання, типу все ок, ви розслабляєтесь, і тут ця падлюка вас неочікувано б'є -- запускаєте скрипт/встановлення якогось скрипта, а він крашиться з помилкою "у вас нода версії часів мамонтів, оновіть" --
дивуєшся, перевіряєш -- версію показує останню, пробуєш ще раз тицнути скрипт -- пише що версія ноди доісторична...
почісуєш потилицю, розпочинаєш лазити по системних файлах -- а там цією падлюки 4 версії сидить, усюсюка!!!
короче, в підсумку -- erlang -- скачав один файл, встановив одною командою -- все ок, також одною командою оновляється, без проблем
haskell -- однією командою встановив, при потребі -- також однією оновив (чи навіть і не треба, воно там і самостійно вміє підтягувати)
щастя є))
відповідно є і інший полюс -- нещастячко у вигляді ноди чи пайтона -- в останнього також зоопарк,
і частину зоопарку знести не можна -- бо разом з ними хоче зноситись ще гігабайт програм (навіщо в убунту-лубунту забили цвяхами ці залежності від зміюки??), пробуєш поміняти символічний лінк на новішу версію -- і тут починають крашитись системні програми
повертаєш назад -- починають крашитись інші програми (щось десь змінив, і хз де та як назад повернути)
починаєш гуглити -- купи запитань про те ж самісіньке, і радять правити всякі різні файли -- мануальний патчинг системи, мастурбація залежностей зміюки в убунті, веселуха
продовжимо далі, приколи, ля, тільки розпочинаються!!!
то все можна в браузері запускати, весь світ рухається до того??
звичайно, можна, можна і чайною ложечкою поле перекопати,
можна і ломом плац замітати,
можна зубною щіточкою унітази та коридори чистити,
чим в армії і зайняті люди
вангую, що в найближчому десятилітті ніякий js, ніякий wasm і близько не стоятиме по швидкодії та оптимальній роботі з памяттю поруч з ерлагом, хаскелем, сішкою etc
браузери жруть все більше оперативки, то ля тренд такий, то весь світ в цю задницю йде --
купи комп, у якого ще більше оперативки, бо 3Мб скриптів на сторінці хочуть захавати від 300Мб оперативки
і так кожна вкладка
і ще кожна лайносторінка кожноголайносайту бере і пише десятки мегабайт в локалсторадж/індекседдб -- короч в збережені браузером дані, тонни всякого лайна в кеш і так далі...
а браузер починає тормозити, якщо кешу є більше ніж 1Гб на диску
отже, зайва маячня додалась -- чистити кожного дня, чи через день, кеш
+ видаляти ту фігню, яку сайти пишуть на диск, бо то жесть -- одне запише 5мб, 20Мб, інша -- 40, 50мб...
і разом ще один гіг назбиратись може спокійнісінько
хороший прикол, ноу комментс
не розумію, навіщо mr. Леофану кодити з js, якщо можна спокійно писати на сішці, ерлангу, хаскелі, расті чи котліні?
до чого тут взагалі натягування сови js на глобус...
сумніваюсь, що Леофана потягне теребонькати формочки з js,
скоріше він може взятись за хаскель, coq, кубик...
або ж теорію компіляції, щось з нуля на asm пиляти,
ви просто плутаєте творчу людину від математики та програмування (ака істинний програміст, від душі -- типу Кармака, Гейтса, Торвальдса etc) з нубо-формошльопом (нічого лічного, це просто робота -- понабігало купа тупих в програмування, бо тут грошима пахне, і тільки закривають собою тих реальних світил, позорять своїми висерами та тупістю...)
пропоную всім разом підтягувати математику, і пиляти щось цікаве,
бо отак від мастурбації формочок ми можемо лише отупіти, та й все
▼Прихований текст
я міг би ще 100500 строк написати про фреймворки, фірми-галери, роботу та гроші
(та й загалом ще багато всього про багато що),
порозбирати це місиво -- лайно окремо, перлини окремо, та мені лінь ))
і так щось надто багато настрочив