Калькулятор iOS «не успевает» складывать простые числа

hi-tech.mail.ru — Apple продолжает «радовать» своих поклонников, с каждым разом выпуская все более «глючное», неоптимизированное и просто неаккуратно сделанное ПО для своих смартфонов. На этот раз пользователи обнаружили, что стандартный калькулятор iOS 11 не успевает складывать простые числа, даже 1 + 2 + 3.
Новости, Технологии | pyth2000 19:50 23.10.2017
8 комментариев | 64 за, 2 против |
buba
надзор »
#1 | 21:33 23.10.2017 | Кому: Пальтоконь
> Напиши её на Java каком-нибудь и будет тебе жирный-прежирный бинарь.
> Или на C#

Набросал на C#, получилось 5 кБ. Не сказать что прям жирный.

Лучше с Delphi сравнивать, которая уже в 7-й версии (2002 год) не умела делать бинарники меньше 400 кБ (без отключения всех лишних модулей).

> только поставь .Net и Visual Studio


Если поставить .NET, то можно не ставить VS (в состав .NET входит компилятор, простенькие программы можно в "Блокноте" набрать и в бинарник собрать). А если ставить VS, то .NET ставить не требуется -- ставится автоматически нужной версии.
buba
надзор »
#2 | 22:27 23.10.2017 | Кому: Пальтоконь
> А он у тебя без .Net запустится?

Разумеется, нет.

> Собери standalone бинарь


Который бы запускался на голом железе без операционной системы? Если нет, то какой в этом смысл? .NET является компонентом ОС, а все программы, которые пишутся для работы в ОС пользуются компонентами этой самой ОС. С тем же успехом можно просить собрать программу, которая выводит надпись на экран с помощью прямого обращения к видеопамяти, а данные с диска читает через работу с его контроллером. Пусть программа таскает за собой код драйверов всех возможных устройств, а ещё при старте проверяет архитектуру процессора и запускает ту ветку, которая максимально использует особенности этой архитектуры. Вот тогда будет самый настоящий standalone.
buba
надзор »
#3 | 22:54 23.10.2017 | Кому: Пальтоконь
> Который бы запустился на другой винде, но без установленного .Net.
>

Я же показал, что это идиотское ограничение. Почему именно винда без .NET, а не, например, винда без Win32?

VS не умеет компилировать C# в инструкции, отличные от MSIL. То есть без .NET оно работать не будет. Однако, имеются другие компиляторы: например, где-то валяется самописный компилятор C# -- курсовой проект на 3-м курсе института, он может компилировать в ASM, который уже можно собрать в бинарник. Но бинарник этот будет работать только в том окружении, под которое собран.
buba
надзор »
#4 | 00:50 24.10.2017 | Кому: Пальтоконь
> Ну тогда и жаба лёгкая

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

> кути


Даже не знаю что это.

> А сей без плюсов вообще под мелкоскопом не видать.


Угу. А потом начинаешь серьёзную программу писать и вылазят зависимости от системных библиотек, которые вот здесь такие, а там другие, а в этой версии ОС их вообще нет. А потом хочешь оптимизировать под x64 чтобы программа имела доступ ко всей памяти и приходится весь код переписывать потому что сразу не подумали, что в разных системах размер int отличается.

На моей предыдущей работе несколько лет пытались переписать код, чтобы можно было скомпилировать версию x64. Не получилось. Сейчас плюнули, переписывают на .NET. Такие дела.
buba
надзор »
#5 | 09:44 24.10.2017 | Кому: Котовод
> Ага, например в хп сп 3 установлен дот нет версии 1.1. Твой калькулятор будет работать?)
>

1. Вроде ж разговор о размере минимально программы на разных языках.
2. Дотнет 1.1, конечно, куцый, но вполне себе фреймворк. Почему-бы "калькулятору" не работать?
3. Установить в XP можно .NET от версии 1.1 до 4.0.
4. А вот в Windows 3.1 нет Win32 и добавить её поддержку нельзя. Да что там Windows 3.1, сейчас уже в Windows 98 куча программ не заработает.
buba
надзор »
#6 | 09:46 24.10.2017 | Кому: Пальтоконь
> Серьёзные программы под .Net?

Например, Visual Studio 2015, AutoCad 2009.
buba
надзор »
#7 | 10:03 24.10.2017 | Кому: Пальтоконь
> Я так и знал, что винда из коробки — не ОС. :-)
>

.NET 1.0 появился в 2002 году. Как странно, что его не было в системах, вышедших в 1999 и 2001 гг., да?

А вот Windows 2003 поставлялась с .NET 1.1.
buba
надзор »
#8 | 12:18 24.10.2017 | Кому: Котовод
> Потому что если прога скомпилирована под более позднюю версию дотнета, то она вылетит с ошибкой.
>

Так и прога скомпилированная под x64 вылетит на x86. Или даже написанная под NT вылетит в 9x. Дотнет хотя бы поставить другой можно не нарушая работоспособность системы, не удаляя старый, не переустанавливая программы.

> На отдельные древние компы ставиться в районе часа.


[разводит руками]
Нигде нет совершенства.

> А вот компы по винхп и даже под 98 еще работают. Особенно смешно, когда для того чтобы делать ровно то же самое что делали программы под вин 98, приходится покупать комп в 50 раз мощнее + софт общей стоимостью тысяч в 60, а потом еще окажется что новые программы тормозят там, где древнедельфевские / фокспрошные проги летали.


Есть такое дело. Но больше зависит от квалификации программиста, чем от используемых средств. Помню, показал коллегам как может работать модуль на C#/WPF по сравнению с написанным на Delphi. Оказалось, что умеючи можно то же самое писать быстрее и скорость работы модуля будет выше.
Войдите или зарегистрируйтесь чтобы писать комментарии.