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

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

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

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

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


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

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

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


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

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

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

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

> кути


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

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


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

На моей предыдущей работе несколько лет пытались переписать код, чтобы можно было скомпилировать версию x64. Не получилось. Сейчас плюнули, переписывают на .NET. Такие дела.
#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 куча программ не заработает.
#6 | 09:46 24.10.2017 | Кому: Пальтоконь
> Серьёзные программы под .Net?

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

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

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

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

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


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

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


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