Pull to refresh
0
0

Пользователь

Send message
всякое бывает. Мне на одном собеседовании в крупной компании первым вопросом задали чем RISC от CISC отличается, при этом предполагалось что собеседование по iOS разработке (и уже были отдельные на общую грамотность, по алгоритмам и на написание кода на листочке) и ассемблера в их требованиях не было (это если не говорить про то что как бы проц ты вообще не можешь выбрать). Причем опыт разработки в этой области у компании есть (уточняю т.к. когда-то давно попадал в одну компанию где мне дали тест на проверку знаний C++, со словами «ну это же почти то же что и ObjC», но у них хотя бы опыта в этой области вроде как не было)
Вы еще забываете про такую вещь как человеческий фактор, а именно, попадающихся учителей насмерть стоят на том что учить надо все на том же самом Turbo C++ и наплевать что на дворе 2016 год. У меня такое было, правда не с программированием, а с английским, причем дважды.

Кстати, в 2006 был ведь еще один Turbo C++ — урезанный С++ Builder 2006, не может быть что речь о нем? Не мог автор (не переводчик) для красного словца поместить скрин старого Turbo C++, а его воспоминания относятся уже к новому
Бывает и желание усидеть на двух стульях, когда в принципе у заказчика есть несколько формально независимых групп, но результат работы одних групп навязываются другим именно по принципу «наше», хотя этот навязываемый компонент ни является ни бизнесообразующим для заказчика, ни лучшим решением в своем сегменте. Важно чтобы заказчик не перескакивал грань между «давайте соптимизируем и будем использовать наш компонент т.к. мы полностью контролируем его и всегда можем уточнить у разработчиков» и «плевать на все, используем наше!!! Корпоративный дух!!!!»

А по поводу денег — согласен полностью, но я потому и отвечал не на саму статью, а на коммент в стиле «хотел сделать все как надо — начальство запретило». Статья-то как раз очень понравилась и совершенно по делу, жаль только не всегда это выполнимо из-за административных проблем (но этот момент ИМХО и не входил в рамки данной статьи, а то бы монография получилась)
Речь о стеке, формально — да, вы правы. Фактически же тебе просто говорят «у нас есть мега библиотека и ее надо прикрутить» т.е. задача изначально ставится не «реализовать такую-то функциональность», а «прикрутить такую-то библиотеку». Безусловно, это просчет менеджмента что такую задачу вообще поставили, но инженерам от этого не легче (доказывать что падает все именно из-за этой библиотеки пришлось долго и упорно, но в релизную версию мы ее таки не пустили). Более того, я сталкивался и с проектами, построенными по принципу «проект дело десятое, но глючное поделие заказчика должно быть в его основе», хотя это уже обычно демки разной степени сложности, а не боевые проекты (а вот «прикрутить библиотеку» было в боевом)
Мне еще попадались великолепные вводные от заказчика в стиле «будем использовать АААА, оно кривое и не очень подходит, но оно наше! А великолепно подходящее ББББ не наше».
Он вроде вообще от пола не зависит, только от размера груди как таковой и именно поэтому он у мужчин редок. Зато если уж случился то гораздо чаще бывает запущенным т.к. даже врачи на подсознательном уровне считают что рак груди бывает только у женщин.
Потому что есть компании и спросил. Был когда-то опыт когда джуниор ходил ко мне чуть ли не сигнатуры функций узнавать (причем я и сам тогда был не сказать что сильно опытным разрабом), задолбался отправлять его читать хелп. Хорошо что таймтрекинга там не было.

Но стоит это как-то отобразить в статье, а то складывается впечатление что наказание Кати будет противоречить «Руководитель не имеет права наказывать подчинённого, если тот действовал не превышая своих полномочий»
Возник вопрос по поводу примера джуниора с сеньором — то что менеджер попросил (что значит «попросил» отдельный разговор, да вы и сами про жиру пишите) Петю пойти к Кате есть, а вот ставилась ли такая задача Кате? Потому как если задача не ставилась в явном виде даже если подразумевается что у Кати где-то в должностных инструкциях это записано, то ей придется списывать время потраченое на джуниора на какую-то еще задачу и обязательно рано или поздно возникнет вопрос «Вот ты за день обещал сделать, почему не сделал?». И ответ «я из 8 списанных часов 2 реально потратил на помощь джуниору» звучит отговоркой и далеко не всегда менеджеры его примут, особенно если если почему-то затеян разбор постфактум.
Через месяц это еще хорошо мне как-то позвонили через год. Причем ладно бы там какое-то реальное собеседование было, но я их отфутболил т.к. они в виде тестового задания хотели практически готовую программу.
Забыли еще классическое «опыт работы 5 лет в среде VisualStudio 2015» (ну или чтобы точно попасть в ваше объявление 5 лет работы с java 8)
А почему это «кроме более жесткого контроля типов при «ручном» выделении памяти.»? Как-то странно получается, я говорю что код на С не всегда соберется C++ компилятором, но собирается при этом obj-c, а мне в ответ «ну покажи код с несовместимой фичей, только чур несовместимую фичу не используй», поэтому проигнорирую это условие и приведу пример кода как раз с ним (из книжки Thinking in C++, хотя искал я там другой пример — было еще что-то с массивами):
int i = 10;
void* vp = &i;
int* ip = vp;
Собирается в c и obj-c, но не в c++
Objective-C не просто ближе к С, а имеет с ним полную обратную совместимость (по крайней мере это декларируется) т.е. любой кусок кода на С можно просто вставить в Obj-C и он заведется (если конечно не брать нечто уж очень древнее типа void f(){return 1}, но такое и не все си компиляторы съедят), а вот с C++ так сделать получится не всегда
Я бы еще добавил и то что тех же несчастных неандертальцев (и не только их вроде бы) то объявляют отдельным видом, то подвидом Homo Sapiens, при этом выделять кого-нибудь из ныне живущих людей в отдельный биологический вид никто не даст из антирасистских соображений (хотя я слышал что некоторые сравнительно изолированные популяции людей не могут иметь общего потомства, а это вроде бы один из критериев принадлежности к одному виду с оговоркой что известны и разные виды с возможностью общего плодовитого потомства, те же медведи, например), так что статистика тут, мягко говоря хромать будет.
На мой взгляд, первый пункт (всегда виноват местный врач) это прямое следствие того что сейчас нет каких-либо стандартов или других документов которые бы регулировали это дело, да и третий частично можно было бы решить административно каким-то делением денег из ОМС за прием. Второй пункт тоже скорее всего должен был улучшиться за последние несколько лет, как минимум в скорости соединения. Безусловно, все проблемы с ходу не решатся, но все равно хорошо то что об этом задумались.

Кстати, у вас пропущен еще один важный пункт — нежелание врачей учиться новому. По моему опыту (я проработал около года эникеем-младшим админом в больнице в 2007-2008 годах), из всех врачей с радостью введение техники принимают только те кто с ней и так работает (узисты, рентгенщики, эдоскописты, etc) да еще хирурги (но эти уже не всегда), а вот остальные частенько старались не пользоваться новыми системами, например, продолжали лично ходить за результатами анализов в лабораторию, хотя почти все приборы все равно были подключены к той же сети и все можно было посмотреть прямо из ординаторской. Правда, все могло уже и поменяться к лучшему, 9 лет с тех пор прошло как-никак
Спасибо за разъяснение. Я почему-то подумал что речь о том что вы отказались от qml вообще
То что можно понятно и я так и делаю, но самый простой способ который я смог найти был загрузка того или иного файла (не в виде плагина, а просто в виде отдельного qml которые отличаются для разных платформ) при помощи js через Qt.createComponent(), и я как раз хотел узнать есть ли более правильный способ.
А что же вы тогда имели в виду под "не выбирайте Qt/Qml"? Я как-то считал что когда речь идет о GUI на Qt, то можно использовать либо QWidget'ы, либо qml, либо же их комбинацию.
По поводу второго вопроса, да, про loader'ы я забыл, надо будет попробовать. Хотя у меня такой финт может быть и не пройдет — мне надо было загрузить разные меню для андроида и десктопа и хотелось написать что-то вида:
ApplicationWindow {

menuBar: Qt.platform.os == "android"? AndroidMenu{}:DesktopMenu{}

}
не выбирайте Qt/Qml!
Получается, вы используете QWidget и его потомков? Скажите, как он сейчас работает под android?
Я когда-то давно, когда порт под андроид еще назывался Necessitas, пытался с ними работать (точнее, просто откомпиллил виндово-убунтовое приложение) и столкнулся с тем что этот путь был совершенно непригоден т.к. виджеты были не адаптированы под тач, например, QTableView и, кажется, скролл имели крайне мелкие размеры скроллбаров, а диалог открытия файлов не ресайзился под экран и был раза этак в 2 больше телефона размером, при этом штатный путь кастомизации через QStyle попросту не срабатывал. В итоге плюнул и постепенно переписал приложение на QML, благо это домашний проект и чего сверхсложного там не было и нет.
Из сложностей — постоянно натыкаюсь на всяческие мелкие баги в контролах, то у ComboBox'а принципиально нельзя програмно выставить пустую строку (если присвоить comboBox1.currentIndex = индекс пустой строки текст попросту не меняется), то файловый диалог возвращает в винте пути в виде /C:/Users/myFile.txt которые едят не все компоненты qt работающие с путями (конкретно QFile), то еще что. В целом вроде и мелочи, но раздражает, хотя я бы все равно сказал что это классная библиотека.
Кстати, еще интересный вопрос — есть ли какой-то способ использовать разные элементы для разных платформ из qml? Вариант с подгрузкой через js я знаю, но мне он кажется несколько костыльным
Вычислить наверняка мог, но зачем им вычислять? Это же маркетинговое заявления, соответственно, чем больше ящиков — тем лучше, а тут даже врать не надо — ну ошиблись в методике подсчета, с кем не бывает?
12 ...
10

Information

Rating
Does not participate
Registered
Activity