К труднонаходимым ошибкам приводит непонимание сути конструкций языка и желание использовать хитровывернутые малословные возможности для непонятного сокращения текста программы и желания казаться очень умным. А вот синтаксис как раз хорошо подсказывает IDE.
Школьник может и знает синтаксис твёрдо, но это потому, что язык у него один — 'Pascal ABC'. А на обычном энтерпрайзном проекте средней руки присутствует под десяток языков (TransactSQL, Java, Groovy, Javascript, TypeScript, CSS/SASS/LESS, HTML...). И не один десяток сторонних библиотек. И IDE хорошо помогает и на неё привыкаешь опираться.
А так то оно конечно да, когда маленькая утилита пишется на одном Си (не С++) то запомнить два десятка ключевых слов — несложно.
Предложение написать код на бумаге, оно похоже на проверку стрессоустойчивости. По простому — не дрожат ли у вас пальцы. Ну зачем-то важно это работодателю. Но для кандидата дискомфортно, поскольку требует знания наизусть синтаксиса. Работа в IDE довольно сильно притупляет память на синтаксис даже простейших операторов. Эти знания давно уже не нужны в повседневной работе. А тут такой челендж! Просто вызов памяти и интеллекту! Нужно быть уверенным. Порой можно небрежно переспросить у экзаменующего, не нужна ли точка с запятой в этом месте… и вот в этом.
Скоро и собеседования без Гугла будут стрессом. Или уже.
Да ну, глупости. Если работодатель действительно преуспел в бизнесе, он уже немножко понимает людей. Просто тут палка о двух концах. Очень много балванов чувствуют себя инициативными и креативными. И хотят изменить привычный строй. Ну и смело идут лесом. Разумеется, недопонятые работодателем. :)
PS: Да, есть неумные работодатели, но это отдельный вопрос как оне такими стали.
Пара моментов.
За subject вида: 'How to boost online sales by 15% by the end of Q4 2017'
вас может затолкнуть в спам ещё сам публичный почтовый сервер.
И 'не использовать предлоги' — это правильно, но не нужно путать с идиомами. Где также есть предлоги. Обычно go on чуть лучше чем continue. Но это уже нюансы.
Да, вижу что много чего. Примерно как учиться читать и одновременно проходить Войну и Мир с Преступлением и наказанием. Или довести количество отжиманий от пола до тысячи за одну неделю. Это и называется разбалансированность. Стандартная беда — перечислить всё что есть в математике и убедить себя что всё это крайне необходимо ибо хорошо и знаний много не бывает и сё такое.
Несомненно, что это правильно, когда программист имеет хорошую математическую подготовку. Но ваш список не выглядит сбалансированным. Он выглядит как список, который должен выглядеть крутым. Большая половина из перечисленного практически никем не будет освоена ибо у вас количество пунктов больше количества отведённых часов. То есть — меньше часа на каждый. И будет лишь пустая трата времени с полным отбиванием охоты учить всю эту смесь. Осмыслить даже половину перечисленного за отпущенные часы невозможно.
Портабилити — это переносимость между платформами. Также есть понятие обратной совместимости — когда некое приложение скомпилированное на старой версии платформы продолжает работать на новой версии. А вот такое, что бы что-то скомпилированное на новой продолжало работать на старой версии, часто не бывает, ибо новое, оно потому и новое, что там что-то добавлено. Как же оно будет работать на старой версии если там этого нового ещё не было?!
Небольшое замечание по фактам из статьи. Абзац, начинающий словами
Oracle чуть не испортила всё с самого начала, приступив к созданию особого, декларативного языка, который предполагалось использования для создания UI приложений...
следовало бы написать чуть-чуть иначе. А именно: «Sun чуть не испортила всё с самого начала...»
Это солнечные зачем-то ввели скриптовой язык для JavaFX. На мой взгляд — неразумное решение. Oracle же, после покупки Sun, всё это стряхнул и начал чуть ли не с нуля, сделав замечательный инструмент — новый JavaFX-2. Ну и далее 8 и 9.
Мне не пришлось пока писать софт на JavaFX для продакшена, но для своих проб я его использовал. И мне он исключительно нравится. Реальным конкурентом вижу только Qt но… С++ таки сложный язык. И он постоянно меняется в сторону усложнения. В своё время я писал на нём лет 10, то есть, я в нём не новичок, хотя и подзабыл уже. Опять же много нового появилось. Но даже после этого, попробовав Qt, просто руки опускаются когда приходится слазить с Java, и особенно с IntelliJ IDEA. На Java под IntelliJ код словно сам стекает из мозга на экран.
А что касается Javascriptа. Это адский ад, а не язык для промышленной разработки. Тот человек, который его придумал, вряд-ли предполагал, что на нём будут писать куски кода длиннее 20-30 строк. Но чудеса движения цивилизации неисповедимы. К счастью, Микрософт тут внёс полезное в индустрию. А именно — придумал и реализовал TypeScript. А это уже заметный шаг в сторону сил света.
Последний мой проект идёт на Angular 4, но это не десктоп. И я по прежнему внимательно слежу за JavaFx. Читаю блог одного из разработчиков с новостями. Ничего про глобальное прекращение разработки не упоминалось. Так же слежу за твиттерами людей, работающих с/для этой платформы.
Про Электрон не знаю ничего. И пока не очень привлекает. На мой взгляд какой-то очередной странный зигзаг индустрии. Как Air.
В Америке люди более мобильны. И легче меняют место жительства, что бы жить там, где есть хорошая работа по их профессии. А 3-5 раз область меняют люди несложных профессий. Сегодня пиццу развозил, завтра пошёл помощников официанта. Можно встретить человека 50 лет, обучающегося на несложных IT курсах на тестера. Это — да. Но крайне редко вы увидите юриста, решившего даже в 40 лет вдруг стать профессиональным разработчиком ПО.
Неправда. Если говорить о высококвалифицированных специалистах, то в Америке люди стараются получить максимально хорошее образование. Насколько позволяют способности и кошелёк. Гарвард, Принстон, Стенфорд, Йель… Получив такое образование вы не сможете им швыряться и менять каждые 10 лет. Трудно представить что бы врач, потративший заметный кусок жизни на образование, менял область 3-5 раз. Да и он раза не поменяет.
Вы приводите примеры в пользу вашего выбора и заголовком статьи выбираете подходящую аудиторию, в итоге получаете собой же запрограмированный результат.
Абсолютно согласен. По факту, действительно подтянулись фанаты языка и подтвердили что язык замечателен. Язык то может в чём-то и неплох, но совокупное мнение получилось сильно искажённым.
Верно. В истории было что… Кончилось тем. что он устроился в питерскую фирм программистом… Другими словами, не исключено что перед этим он закончил университет. И никаких вопросов.
Ну что значит верите-не верите. Тракторист — это не диагноз. Это — уважаемая профессия. И этот человек вполне мог пойти и получить новую профессию. Скажем — программиста. Просто с большего он её получил не лёжа в постели. А наверное пошёл и поучился. Посему, мне кажется, не стоит это представлять так мифически, как русскую народную сказку.
Ну прям басня от Крылова. Тут корячишься, учишься… А тракторист из под Пскова, лёжа в постели в общаге, умных мужиков одним ухом послушал и пошёл, показал всем Кузькину мать. ))
…
Пусть «плугами» зовут нас городские чуваки,
Нам на это наплевать, они сами дураки,
Мы все механизаторы и нам живется очень даже клево.
… (с)
Да, рекомендовать С++ как первый язык никогда не стал бы. Сложный и опасный. Но тем не менее он с большего правильно организован. И если уж так случилось и удалось его хотя бы частично немного осилить, то языковое мировозрение для мейнстрим императивных языков будет правильным.
Да, есть такая вещь. И именно потому крайне важно каким будет первый язык. Поскольку школа этого языка, с высокой степенью вероятности, будет определять симпатии и антипатии человека в дальнейшем. И хорошо, если первым языком окажется Pascal, Java, C# да хоть C++. А вот если им окажется Бейсик, то уже всё не так радужно. Опять же, когда люди пишут что многословность является недостатком языка, это как правило говорит о не очень глубоком понимании проблемы. Мудрость гласит: Написать программу так, что бы её понял компьютер — не самое сложное. Гораздо сложнее написать программу так, что бы её легко понял другой человек.
1. Проектирование — смыкается с системным анализом. Это разработка структуры БД. А структура БД, как правило, отражает структуру данных предметной области.
2. Программирование — написание кода для создания базы данных и, если нужно, программирование триггеров и хранимых процедур. Это по сути тот же программист, только на языке SQL (если БД реляционная) и внутренних языках серверов БД.
3. Администрирование — скорее ближе к профессии системного администратора. Предполагает администрирование сервера базы данных. Но помимо установки, конфигурирования и поддержки работы сервера, часто требует оптимизации его работы, анализа планов выполнения запросов на предмет скорости (вместе с разработчиком БД) да и просто «ковыряния» в данных, если с БД что-то произошло.
В современных проектах проектирование БД в виде таблиц часто скрыто различными системами мапирования, когда проектируется объектная модель предметной области и она автоматически превращается в структуру БД. В этом случае разработчик модели данных автоматически создаёт структуры базы данных.
Так что тут также нужно точнее определяться к чему лежит душа.
Школьник может и знает синтаксис твёрдо, но это потому, что язык у него один — 'Pascal ABC'. А на обычном энтерпрайзном проекте средней руки присутствует под десяток языков (TransactSQL, Java, Groovy, Javascript, TypeScript, CSS/SASS/LESS, HTML...). И не один десяток сторонних библиотек. И IDE хорошо помогает и на неё привыкаешь опираться.
А так то оно конечно да, когда маленькая утилита пишется на одном Си (не С++) то запомнить два десятка ключевых слов — несложно.
Скоро и собеседования без Гугла будут стрессом. Или уже.
PS: Да, есть неумные работодатели, но это отдельный вопрос как оне такими стали.
Пара моментов.
За subject вида: 'How to boost online sales by 15% by the end of Q4 2017'
вас может затолкнуть в спам ещё сам публичный почтовый сервер.
И 'не использовать предлоги' — это правильно, но не нужно путать с идиомами. Где также есть предлоги. Обычно go on чуть лучше чем continue. Но это уже нюансы.
Портабилити — это переносимость между платформами. Также есть понятие обратной совместимости — когда некое приложение скомпилированное на старой версии платформы продолжает работать на новой версии. А вот такое, что бы что-то скомпилированное на новой продолжало работать на старой версии, часто не бывает, ибо новое, оно потому и новое, что там что-то добавлено. Как же оно будет работать на старой версии если там этого нового ещё не было?!
следовало бы написать чуть-чуть иначе. А именно: «Sun чуть не испортила всё с самого начала...»
Это солнечные зачем-то ввели скриптовой язык для JavaFX. На мой взгляд — неразумное решение. Oracle же, после покупки Sun, всё это стряхнул и начал чуть ли не с нуля, сделав замечательный инструмент — новый JavaFX-2. Ну и далее 8 и 9.
Мне не пришлось пока писать софт на JavaFX для продакшена, но для своих проб я его использовал. И мне он исключительно нравится. Реальным конкурентом вижу только Qt но… С++ таки сложный язык. И он постоянно меняется в сторону усложнения. В своё время я писал на нём лет 10, то есть, я в нём не новичок, хотя и подзабыл уже. Опять же много нового появилось. Но даже после этого, попробовав Qt, просто руки опускаются когда приходится слазить с Java, и особенно с IntelliJ IDEA. На Java под IntelliJ код словно сам стекает из мозга на экран.
А что касается Javascriptа. Это адский ад, а не язык для промышленной разработки. Тот человек, который его придумал, вряд-ли предполагал, что на нём будут писать куски кода длиннее 20-30 строк. Но чудеса движения цивилизации неисповедимы. К счастью, Микрософт тут внёс полезное в индустрию. А именно — придумал и реализовал TypeScript. А это уже заметный шаг в сторону сил света.
Последний мой проект идёт на Angular 4, но это не десктоп. И я по прежнему внимательно слежу за JavaFx. Читаю блог одного из разработчиков с новостями. Ничего про глобальное прекращение разработки не упоминалось. Так же слежу за твиттерами людей, работающих с/для этой платформы.
Про Электрон не знаю ничего. И пока не очень привлекает. На мой взгляд какой-то очередной странный зигзаг индустрии. Как Air.
Три раза перечитал, пока въехал в «то гда». Надеюсь в книге то хоть так не будет? Или будет?
Абсолютно согласен. По факту, действительно подтянулись фанаты языка и подтвердили что язык замечателен. Язык то может в чём-то и неплох, но совокупное мнение получилось сильно искажённым.
…
Пусть «плугами» зовут нас городские чуваки,
Нам на это наплевать, они сами дураки,
Мы все механизаторы и нам живется очень даже клево.
… (с)
1. Проектирование БД.
2. Программирование БД (разработчик БД).
3. Администрирование БД.
1. Проектирование — смыкается с системным анализом. Это разработка структуры БД. А структура БД, как правило, отражает структуру данных предметной области.
2. Программирование — написание кода для создания базы данных и, если нужно, программирование триггеров и хранимых процедур. Это по сути тот же программист, только на языке SQL (если БД реляционная) и внутренних языках серверов БД.
3. Администрирование — скорее ближе к профессии системного администратора. Предполагает администрирование сервера базы данных. Но помимо установки, конфигурирования и поддержки работы сервера, часто требует оптимизации его работы, анализа планов выполнения запросов на предмет скорости (вместе с разработчиком БД) да и просто «ковыряния» в данных, если с БД что-то произошло.
В современных проектах проектирование БД в виде таблиц часто скрыто различными системами мапирования, когда проектируется объектная модель предметной области и она автоматически превращается в структуру БД. В этом случае разработчик модели данных автоматически создаёт структуры базы данных.
Так что тут также нужно точнее определяться к чему лежит душа.