[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 264: mysqli_fetch_assoc(): Couldn't fetch mysqli_result [phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 326: mysqli_free_result(): Couldn't fetch mysqli_result [phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 264: mysqli_fetch_assoc(): Couldn't fetch mysqli_result [phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 326: mysqli_free_result(): Couldn't fetch mysqli_result [phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 264: mysqli_fetch_assoc(): Couldn't fetch mysqli_result [phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 326: mysqli_free_result(): Couldn't fetch mysqli_result [phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 264: mysqli_fetch_assoc(): Couldn't fetch mysqli_result [phpBB Debug] PHP Warning: in file [ROOT]/phpbb/db/driver/mysqli.php on line 326: mysqli_free_result(): Couldn't fetch mysqli_result Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно? - Page 8 - Привет
Flash-04 wrote: ↑14 Sep 2021 14:41
Тот же JavaScript - не имеет строгой типизации, однако сейчас очень популярен.
JS один из самый помоечных языков, когда либо созданных. "популярен" он по причине того, что он уже встроен в браузеры.
То что язык полное говно подтверждает то, что там так и не устроялись технологии и фреймворки плюс куча надстроек в виде TypeScript, альтернатив вроде WebAssembly и т.д.
А почему "популярен" в кавычках?
Популярный не значит лучший, или даже хороший.
Проблема JS что он стал использоваться не так как был задуман. Это неплохой язык для скриптования простых действий в ограниченном контексте.
Кстати, я думаю например PHP гораздо хуже чем JS...
Flash-04 wrote: ↑14 Sep 2021 14:41
Тот же JavaScript - не имеет строгой типизации, однако сейчас очень популярен.
JS один из самый помоечных языков, когда либо созданных. "популярен" он по причине того, что он уже встроен в браузеры.
То что язык полное говно подтверждает то, что там так и не устроялись технологии и фреймворки плюс куча надстроек в виде TypeScript, альтернатив вроде WebAssembly и т.д.
А почему "популярен" в кавычках?
Популярный не значит лучший, или даже хороший.
Проблема JS что он стал использоваться не так как был задуман. Это неплохой язык для скриптования простых действий в ограниченном контексте.
Кстати, я думаю например PHP гораздо хуже чем JS...
Популярен это по своей воле, а JS скорее вынуждены использовать. Ну типа как в армии популярна перловая каша
double data = 11111111111.00;
int value = (int)data;
System.out.println(value);
Результат: 2147483647
Вот спасибо. Вместо того, чтобы выдать ошибку, эта сволочь тихо генерирует случайное число. И это не считается багом. Типа, читайте документацию. Сам я не джавист ни разу, но подобные приколы иной раз косвенно задевают. Года три назад половину отпуска в Мексике сидел как идиот и переливал огромную hive таблицу из-за того, что в поле bigint кто-то несколько месяцев вставлял данные, которые в исходной базе были double, и всё работало чудесно без ошибок. Пока бизнес не удивился странным результатам. Хадуп-то весь на жабе написан. Повбывав бы.
Flash-04 wrote: ↑14 Sep 2021 14:41
Тот же JavaScript - не имеет строгой типизации, однако сейчас очень популярен.
JS один из самый помоечных языков, когда либо созданных. "популярен" он по причине того, что он уже встроен в браузеры.
То что язык полное говно подтверждает то, что там так и не устроялись технологии и фреймворки плюс куча надстроек в виде TypeScript, альтернатив вроде WebAssembly и т.д.
А почему "популярен" в кавычках?
Популярный не значит лучший, или даже хороший.
Проблема JS что он стал использоваться не так как был задуман. Это неплохой язык для скриптования простых действий в ограниченном контексте.
Кстати, я думаю например PHP гораздо хуже чем JS...
Популярен это по своей воле, а JS скорее вынуждены использовать. Ну типа как в армии популярна перловая каша
В своё время можно было использовать java applets, silver light, flesh... Но JS оказался более популярным.
Вы правы, сейчас он "популярен" как система команд x86/amd64...
Но тот факт что фреймворки не устоялись говорит что на сегодняшний момент платформа весьма гибкая и удобная: сменить фреймворк гораздо проще чем переписать что-нибудь с Кобола на джаву.
sp123 wrote: ↑15 Sep 2021 17:45
Строгая типизация в Java?
double data = 11111111111.00;
int value = (int)data;
System.out.println(value);
Результат: 2147483647
Вот спасибо. Вместо того, чтобы выдать ошибку, эта сволочь тихо генерирует случайное число. И это не считается багом. Типа, читайте документацию. Сам я не джавист ни разу, но подобные приколы иной раз косвенно задевают. Года три назад половину отпуска в Мексике сидел как идиот и переливал огромную hive таблицу из-за того, что в поле bigint кто-то несколько месяцев вставлял данные, которые в исходной базе были double, и всё работало чудесно без ошибок. Пока бизнес не удивился странным результатам. Хадуп-то весь на жабе написан. Повбывав бы.
Sent from my iPhone using Tapatalk Pro
У нас в приложении на плюсах при переходе с linux 2.4 на 2.6 изменялся порядок вызова деструкторов. Причём только на многопроцессорных серверах и только под нагрузкой (иными словами - в продакшн в час пик).
И это тоже не было багом формально, поскольку две переменные оборачивающие указатели были объявлены в неправильном порядке. Но на одном процессоре это долгое время работало.
После этого случая мы начали всё переписывать на Java.
sp123 wrote: ↑15 Sep 2021 17:45
Строгая типизация в Java?
double data = 11111111111.00;
int value = (int)data;
System.out.println(value);
Результат: 2147483647
Вот спасибо. Вместо того, чтобы выдать ошибку, эта сволочь тихо генерирует случайное число. И это не считается багом. Типа, читайте документацию. Сам я не джавист ни разу, но подобные приколы иной раз косвенно задевают. Года три назад половину отпуска в Мексике сидел как идиот и переливал огромную hive таблицу из-за того, что в поле bigint кто-то несколько месяцев вставлял данные, которые в исходной базе были double, и всё работало чудесно без ошибок. Пока бизнес не удивился странным результатам. Хадуп-то весь на жабе написан. Повбывав бы.
Sent from my iPhone using Tapatalk Pro
в вашем коде ошибка, надо использовать не int, а long. int не работает с величинами больше 32768. Это известно и документировано.
Komissar wrote: ↑15 Sep 2021 19:49
в вашем коде ошибка, надо использовать не int, а long. int не работает с величинами больше 32768. Это известно и документировано.
Много чего есть задокументированного. Только это не мешает приумножению количества ошибок во вновь создаваемом коде, с наиновейшими технологиями. В геометрической прогрессии примерно.
А еще больше есть - незадокументированного...
Остался JS. Остальное вымерло само как мамонты. Значит JS таки удобнее
Не потому что удобнее, а потому что это внешний относительно браузера плагины да плюс к тому еще и проприетарные, которые невозможно контролировать сообществом.
Такой возможности как вставлять скрипты на любых других языках кроме как JS никогда не было
Щаз вроде появился еще WebAssembly кооторый по идее может подвинуть JS так что посмотрим
Komissar wrote:
в вашем коде ошибка, надо использовать не int, а long. int не работает с величинами больше 32768. Это известно и документировано.
Именно. Ошибка в коде или ошибка в данных. Мало ли, вначале циферки приходили маленькие, потом увеличились через десять лет, а девелопер уволился пять лет назад. Попытка впихнуть невпихуемое в любой базе данных выбросит ошибку. А тут просто курочит данные. Тому, кто такое придумал, надо в голову гвоздь забить. Добрый я сегодня что-то
sp123 wrote: ↑15 Sep 2021 17:45
Строгая типизация в Java?
double data = 11111111111.00;
int value = (int)data;
System.out.println(value);
Результат: 2147483647
Вот спасибо. Вместо того, чтобы выдать ошибку, эта сволочь тихо генерирует случайное число. И это не считается багом. Типа, читайте документацию. Сам я не джавист ни разу, но подобные приколы иной раз косвенно задевают. Года три назад половину отпуска в Мексике сидел как идиот и переливал огромную hive таблицу из-за того, что в поле bigint кто-то несколько месяцев вставлял данные, которые в исходной базе были double, и всё работало чудесно без ошибок. Пока бизнес не удивился странным результатам. Хадуп-то весь на жабе написан. Повбывав бы.
Sent from my iPhone using Tapatalk Pro
Я конечно же понимаю и разделяю Ваше негодование, но в приведённом коде программист сам себе злобный Буратино.
Там же явное приведение типов double к int. То, что программист не в курсе, что в Java тип int занимает 32 бита один из которых знаковый - это скорее проблемы погромиста. Там в Вашем примере на выходе не случайное число а 2^31, это максимум что может вместить int в Java. Там целая процедура конвертации примитивных типов написана и в документации описано что и почему там получается. В С/С++ все точно также бы переполнилось при явном приведении типов без метания всяких исключений.
Не зря же компилятор настойчиво предупреждает о возможном переполнении если присваивать без явного приведения типов. Ну а если погромист настаивает, то кто ж ему перечить-то станет?
Хе хе. На самом деле там был insert into table … select …, который и ломал дату. То есть неприятные буратины - это те ребята, что написали утилиту hive на жабе. А страдают наивные датабазники, которые привыкли к хорошему. Тут я готов согласится, сама по себе жаба ни при чём.
sp123 wrote: ↑15 Sep 2021 17:45
double data = 11111111111.00;
int value = (int)data;
System.out.println(value);
Результат: 2147483647
Вот спасибо. Вместо того, чтобы выдать ошибку, эта сволочь тихо генерирует случайное число. И это не считается багом.
Позор на программистские седины. Во-первых не случайное число, а максимальное значение для 32-bit signed integer. Во-вторых, в этот signed integer пытаешься засунуть число в пять раз большее, ну вот и получаешь что влезло.
Komissar wrote: ↑15 Sep 2021 19:49
в вашем коде ошибка, надо использовать не int, а long. int не работает с величинами больше 32768. Это известно и документировано.
Komissar wrote: ↑15 Sep 2021 19:49
в вашем коде ошибка, надо использовать не int, а long. int не работает с величинами больше 32768. Это известно и документировано.
Тоже позор на седую голову.
Когда я изучал джаву, в периодической системе было всего 4 элемента!
OtherSide wrote: ↑15 Sep 2021 20:21
Не потому что удобнее, а потому что это внешний относительно браузера плагины да плюс к тому еще и проприетарные, которые невозможно контролировать сообществом.
Такой возможности как вставлять скрипты на любых других языках кроме как JS никогда не было
Щаз вроде появился еще WebAssembly кооторый по идее может подвинуть JS так что посмотрим
Komissar wrote: ↑15 Sep 2021 19:49
в вашем коде ошибка, надо использовать не int, а long. int не работает с величинами больше 32768. Это известно и документировано.
Тоже позор на седую голову.
справедливости ради, именно этот предел был у джавы до 8й версии, так мне гугол сказал!
OtherSide wrote: ↑15 Sep 2021 20:21
Не потому что удобнее, а потому что это внешний относительно браузера плагины да плюс к тому еще и проприетарные, которые невозможно контролировать сообществом.
Такой возможности как вставлять скрипты на любых других языках кроме как JS никогда не было
Щаз вроде появился еще WebAssembly кооторый по идее может подвинуть JS так что посмотрим
Кстати, WebAssembly видит DOM?
силверлайт и флеш вроде видели, и как это им помогло?
OtherSide wrote: ↑15 Sep 2021 20:21
Не потому что удобнее, а потому что это внешний относительно браузера плагины да плюс к тому еще и проприетарные, которые невозможно контролировать сообществом.
Такой возможности как вставлять скрипты на любых других языках кроме как JS никогда не было
Щаз вроде появился еще WebAssembly кооторый по идее может подвинуть JS так что посмотрим
Кстати, WebAssembly видит DOM?
силверлайт и флеш вроде видели, и как это им помогло?
Я не уверен что видели. Прошу высказаться специалистов.
iDesperado wrote: ↑14 Sep 2021 07:40
Smalltalk был не строго типизированый и тормозной, т.к. все там было тормозным объектом. Java решила проблемы тормозов примитивами, ну и строгая типизация понятно на другой уровень вывела.
Забавный факт, что виртуальная машина HotSpot, благодаря которой Java, наконец, забегала, первоначально была написана для статически-типизированного варианта SmallTalk - StrongTalk, который пытался двигать в массы какой-то стартап, а потом была куплена Sun.
voyager3 wrote: ↑16 Sep 2021 19:21
Забавный факт, что виртуальная машина HotSpot, благодаря которой Java, наконец, забегала, первоначально была написана для статически-типизированного варианта SmallTalk - StrongTalk, который пытался двигать в массы какой-то стартап, а потом была куплена Sun.
ну да, то о чем и я говорю - индустрии нужен был строго типизированный язык. видимо StrongTalk начали ковырять слишком поздно, жава уже победила к тому моменту.
voyager3 wrote: ↑16 Sep 2021 19:21
Забавный факт, что виртуальная машина HotSpot, благодаря которой Java, наконец, забегала, первоначально была написана для статически-типизированного варианта SmallTalk - StrongTalk, который пытался двигать в массы какой-то стартап, а потом была куплена Sun.
ну да, то о чем и я говорю - индустрии нужен был строго типизированный язык. видимо StrongTalk начали ковырять слишком поздно, жава уже победила к тому моменту.
А думаю что типизация вообще ни при чём.
Индустрии нужна была платформа для выполнения на сервере кода по запросу через HTTP, стандартизированный интерфейс для вызова СУБД и способ описать включения сторонних библиотек.
У жавы были servlets, jdbc, javadoc, classpath.
OtherSide wrote: ↑15 Sep 2021 20:21
Не потому что удобнее, а потому что это внешний относительно браузера плагины да плюс к тому еще и проприетарные, которые невозможно контролировать сообществом.
Такой возможности как вставлять скрипты на любых других языках кроме как JS никогда не было
Щаз вроде появился еще WebAssembly кооторый по идее может подвинуть JS так что посмотрим
Кстати, WebAssembly видит DOM?
Я так понимаю что видит полностью и разница со всем браузерными плагинами принципиальная