В Windows (по крайней мере старых) координаты задаются в int. Отсюда и кривая поддержка ретин-не ретин. Кстати, не осуждаю за это винду — в 80-х, когда писался WinAPI, каждый бит был на счету, и операции с float выполнялись куда медленнее чем с int, особенно деление.
В OS X координаты — float, отсюда легкая поддержка ретины.
Вопрос к знатокам — как дело обстоит в Linux?
Большинство программистов, которые в отрасли не один год, итак печатают не глядя. Я вообще только сейчас заметил, что на моем Macbook pro нет русских букв.
Не совсем верная аналогия, компиляторам как раз все равно что компилировать, лишь бы оно не нарушало формальных правил. Например, браузер легко разбирает даже сильно обфусцированный JS.
Никто не пишет идеально с нуля, ибо не было бы в столь старых и популярных фрэймворках deprecated после каждого мажорного апдейта. Но в целом согласен.
Спасибо за развернутый ответ, изменил свое мнение о вашей карме :)
Про первое отвечу — я люблю SQLite, но оптимизатора запросов там либо нет, либо он слишком простой. В любом случае, лучше знать эту особенность чем не знать.
Про второе — спасибо за пример, но все же при настройках по умолчанию в iOS нельзя одновременно даже одновременно читать. По крайней мере так было в 2011 году, на момент написании статьи (ибо именно из-за этого команда убила пол-вечера).
Ну и про БД в памяти — БД занимала около 700 мегабайт (энтерпрайз приложение), ее невозможно было хранить в памяти.
Но все равно отдельное уважение за развернутый комментарий!
О да, Spirits within — мой идеал позднего детства! Один только трейлер я смотрел раз 100, а потом поехал к брату на другой конец города, и записал полную версию на болванку.
А в матрице, как ни странно, все, что можно было снять вживую — снимали вживую. Даже огонь от падения лифта после сцены в фойе — настоящий, только перевернутый, а я лет 10 думал что CG.
— SQLite нормально использует индексы, я с этим не спорю;
— с какого перепуга LIKE вообще может индексироваться, это бред, и я такого не писал. Я писал о том, что в SQLite нет оптимизатора запросов, в отличие от Oracle и SQL Server, поэтому нужно думать, в каком порядке ставить условия;
— в настройках по умолчанию SQLite однопоточна, мьютексы и тем более Serialized ведут к очень существенному провису пефоманса.
— про какое кеширование идет речь? Если вам нужно просто закешировать данные, так понятно что тут вообще плоскопараллельно, как и что делать. В какой памяти хранить, если речь шла о сотнях мегабайт базы?
Вы еще рано поняли. Я работал с конца второго курса, в первому году после института был PM-ом, проработал им два года, сейчас вернулся к разработке и только несколько месяцев назад понял, что не умею толком программировать…
И все же, я знаю несколько сфер, где креатива больше и не нужно отбирать у простого инженера (такого как, например, я) его работу :) Сходу:
— финансовая аналитика — вот где по-настоящему много статистики и математики. Не будучи голословен, мой друг с сугубо математическим образованием и ph.d. устроился в один из крупных банков Лондона на такую должность, креатива там достаточно, зарплаты — вдвое-втрое выше среднего даже по GB.
— моделирование процессов в Matlab, например расчет физ. процессов определенного автомобиля. В свое время делал курсач на данную тему как инженер по автоматике, но использовал, конечно, готовую мат. модель. Для меня большинство выводов и формул давалось с диким трудом, а математик бы решил не подавившись.
А оптимизацию быстродействия все же оставьте инженерам, в 90% случаев наших знаний вышки для этого хватает.
Вы меня не совсем правильно поняли — я не говорил, что не нужно знание математики, но, как показывает мой личный опыт, люди с инженерной специализацией — с весьма средними знаниями вышки, ограниченными первыми двумя курсами вуза — лучше справляются с повседневными задачами, коих в каждодневном программировании большинство.
Они не мнят себя звездами, не чураются рутинной работы (коей, опять же, в любом крупном проекте большинство), не испытывают внутреннего дискомфорта от просьбы дизайнера «подровнять вьюшки по пиксельной сетке 8x8».
С другой стороны, я не обобщаю — среди олимпиадников тоже встречаются люди, не пораженные звездной болезнью. Но, по моим наблюдениям и к моему сожалению, среди олимпиадников процент «звезд» значительно выше.
Про дейтинг на php ничего не могу сказать, т.к. не писал на php уже более четырех лет, но в средненькой вьюшке крупного iOS-приложения (сравнимого с Facebook или DropBox) найдется много над чем подумать. Науки там нет — одно прикладное программирование. Конечно, во время такого прикладного программирования учишься параллельно и некоторым системным вещам, которые еще меньше относятся к науке (если не считать их самих по себе отдельной наукой).
Таким образом вы говорите, что автору не следовало идти в промышленное программирование. В промышленном программировании не нужны гении, там нужны просто грамотные инженеры. Гениям, имхо, лучше идти в науку — девелопить вьюшки хорошо для них слишком скучно, а тех, кто девелопит их плохо, и без олимпиадников хватает.
В OS X координаты — float, отсюда легкая поддержка ретины.
Вопрос к знатокам — как дело обстоит в Linux?
например, на нем написана iOS и много девелоперов ей следуют. А в остальном — полностью согласен.
Про первое отвечу — я люблю SQLite, но оптимизатора запросов там либо нет, либо он слишком простой. В любом случае, лучше знать эту особенность чем не знать.
Про второе — спасибо за пример, но все же при настройках по умолчанию в iOS нельзя одновременно даже одновременно читать. По крайней мере так было в 2011 году, на момент написании статьи (ибо именно из-за этого команда убила пол-вечера).
Ну и про БД в памяти — БД занимала около 700 мегабайт (энтерпрайз приложение), ее невозможно было хранить в памяти.
Но все равно отдельное уважение за развернутый комментарий!
А в матрице, как ни странно, все, что можно было снять вживую — снимали вживую. Даже огонь от падения лифта после сцены в фойе — настоящий, только перевернутый, а я лет 10 думал что CG.
Это значит, что эти плееры регистрируют кастомные URL по схеме default music controls. В iOS это единственный способ общения между двумя приложениями.
— SQLite нормально использует индексы, я с этим не спорю;
— с какого перепуга LIKE вообще может индексироваться, это бред, и я такого не писал. Я писал о том, что в SQLite нет оптимизатора запросов, в отличие от Oracle и SQL Server, поэтому нужно думать, в каком порядке ставить условия;
— в настройках по умолчанию SQLite однопоточна, мьютексы и тем более Serialized ведут к очень существенному провису пефоманса.
— про какое кеширование идет речь? Если вам нужно просто закешировать данные, так понятно что тут вообще плоскопараллельно, как и что делать. В какой памяти хранить, если речь шла о сотнях мегабайт базы?
В общем, непонятно что вы хотели сказать.
— финансовая аналитика — вот где по-настоящему много статистики и математики. Не будучи голословен, мой друг с сугубо математическим образованием и ph.d. устроился в один из крупных банков Лондона на такую должность, креатива там достаточно, зарплаты — вдвое-втрое выше среднего даже по GB.
— моделирование процессов в Matlab, например расчет физ. процессов определенного автомобиля. В свое время делал курсач на данную тему как инженер по автоматике, но использовал, конечно, готовую мат. модель. Для меня большинство выводов и формул давалось с диким трудом, а математик бы решил не подавившись.
А оптимизацию быстродействия все же оставьте инженерам, в 90% случаев наших знаний вышки для этого хватает.
Они не мнят себя звездами, не чураются рутинной работы (коей, опять же, в любом крупном проекте большинство), не испытывают внутреннего дискомфорта от просьбы дизайнера «подровнять вьюшки по пиксельной сетке 8x8».
С другой стороны, я не обобщаю — среди олимпиадников тоже встречаются люди, не пораженные звездной болезнью. Но, по моим наблюдениям и к моему сожалению, среди олимпиадников процент «звезд» значительно выше.