Как стать автором
Обновить

Комментарии 42

Не совсем согласен со статьей.
Если на данный момент технология — мейнстрим, то на ней делаются довольно много проектов.
Но если даже технология перестанет быть таковой, все равно нужно будет поддерживать старые программные продукты.

Кроме того, всегда можно уйти в консалтинг.
Вы правы, проекты на «старой» технологии необходимо будет поддерживать. Но, тут дело в том, что новые проекты не будут появляться. Кроме того, старый проект могут просто переписать, используя новую технологию. Классический пример – это переход с Delphi на .NET Framework. Многие проекты были просто переписаны в веду того, что Delphi стал бесперспективной технологией, хотя, многие помнят, что когда-то технология Delphi была на пике популярности.

В консалтинг… возможно, консультантам по COBOL платят в разы больше, чем консультантам по Java, но и спрос на специалистов по COBOL в разы меньше.
Зря дельфи хороните. Сегодня даже статья была, где человек рассказывает о том, что работы хватает.

Технологии не умирают внезапно, но проблема отрицания реальности, как показано на примере программистов Silverlight в статье, действительно имеет место.

Но с другой стороны, при прочих равных, программист с хорошим стажем программирования на Silverlight будет иметь шансов на получение работы AS-программистом, чем студент без опыта.

Поэтому, конечно, запускать не стоит, но, как говорится «опыт не пропьешь»
>>но проблема отрицания реальности, как показано на примере программистов Silverlight в статье, действительно имеет место.

Вы говорите так, как будто не видели списка фич Silverlight 5. Вы принимаете одну из точек зрения, потом называете её объективной реальностью, а всех несогласных — отрицающими объективную реальность. Это интересный фокус.
Классический софизм.
>Но если даже технология перестанет быть таковой, все равно нужно будет поддерживать старые программные продукты.

Не сказал бы, что прямо-таки приятное занятие
Если «поддерживать и развивать», то немногим не приятнее «создавать с нуля на новой технологии», по-моему, и уж точно приятнее «переписывать под новую технологию». Нюансы, конечно, есть, например в каком виде проект достался и устраивает ли этот вид.
НЛО прилетело и опубликовало эту надпись здесь
язык программирования, например
или специализация на svn
Любое изучение любых технологий — инвестиции. Специализация позволяет дороже продавать свои знания и умения. Но не у всех есть жилка предпринимателя, чтобы делать это эффективно.

Специализация помогает понять человеку одну технологию досконально, а эти знания уже помогают в изучении смежных технологий.
Разные инвестиции характеризуются разным риском и/или окупаемостью. Некоторые считают, что изучение некоторых технологий, особенно на начальной стадии изучения программирования, принесёт скорее вред, чем пользу, особенно если начать на этих технологиях специализироваться.

Ну и никто не запрещает изучать новые технологии just for fun, без всякой надежды получить какой-либо материальный возврат (ROI) от изучения. Вакансии типа «гуру PHP с начальными знаниями Erlang и C#» встречаются не часто.
А можно пример технологии? Я себе не могу представить ни одного примера, когда специализация с начальными знаниями давала бы минус.
Те технологии, которые традиционно считаются приютом «быдлокодеров» :) Да и вообще, как в комментах к «HR» топикам не раз видел, лучше возьмут на должность erlang (условно) junior developer, человека, который php и vb в глаза не видел, чем того, кто на них специализировался. Специализация всё же накладывает отпечаток на мышление. Я вот могу написать код на десятке императивных языков, но это будет PHP-код, обработанный простейшими макросами, а то и find&replace, но не, например, pythonic.
Ха, так это все зависит от того, какими абстракциями оперирует программист. Для некоторых это будет уровень «написать функцию/метод», а для некоторых «построить макроязык и протокол передачи данных на этом макроязыке». А конечная реализация уже не сильно важна, ее могут сделать и менее зашоренные «чужими технологиями» люди.
Говорят (с), что изучение некоторых языков/технологий по популярным источникам и исходникам приучает оперировать «неправильными» абстракциями, особенно не имея базовой теоретической подготовки.
Это везде так. В любой технологии и в любом языке. Научить оперировать правильными абстракциями нельзя, до этого каждый доходит сам.
Как по мне этот спор не уникален для ИТ и решился уже давно. Возьмем для примера врачей.
Есть общая медицина и есть специализация. Общая медицина обязательна для всех, а специализация у каждого своя (ты все равно должен знать биохимию крови и работу печени, даже если хочешь быть стоматологом).
В программировании точно также: основы алгоритмов, паттерны, теории автоматов и т.д. могут выступать как база, которая реализована пока что во всех языках без существенных изменений. И специализация: .NET, С++ или что-то другое — как развитие навыков в том или ином инструменте.
В программировании точно также: основы алгоритмов, паттерны, теории автоматов и т.д. могут выступать как база, которая реализована пока что во всех языках без существенных изменений.
Совершенно верно, фундаментальные знания — универсальны. Технологии и специализации весьма изменчивы: сменялись, меняются и надеюсь будут меняться.
Да, но фокус в том, что скорость смены технологий (а значит и специализаций) в IT много выше, чем в медицине.
Я, к примеру, специализируюсь на одном движке. С одной стороны, это позволяет с легкостью брать заказы на фриланс-биржах и вообще зарабатывать чуть лучше, чем «в среднем по больнице». Однако с другой стороны я понимаю, что уже сильно отстал от своих коллег в профессиональном плане.
не совсем понятно, зачем вы разместили билингвистический кусок в конце.
Круто вы его назвали билингвистическим. Честно, не знал как это дело назвать, и назвал «смешанным», а ваш вариант тоже хороший.

Чуть выше в тексте, после горизонтальной черты, я дал ссылку на экспериментальный билингвистический вариант этой статьи. Основной текст статьи — английский с вспомогательным русским переводом после каждого параграфа. Я предполагаю, что такой формат позволит читателю прочесть всю статью на английском, иногда пользуясь вспомогательным русским переводом. Цель — развитие навыка чтения на английском языке.

На эту идею меня натолкнул Метод чтения Ильи Франка.
Вот пример:

I must have slept for more than nine hours (я, вероятно, проспал более девяти часов; to sleep) because when I woke up (потому что, когда я проснулся; to wake up) it was daylight (было совсем светло; daylight — дневной свет; день, светлое время суток).


Из-за метода Ильи Франка я и назвал текст билингвистическим (термин, вроде как, устоялся). Просто непонятно зачем он здесь — лучше, наверное, написать отдельную статью;)
Вы правы, отдельную статью написать лучше, но сейчас мне нужны реальные факты и показатели.

Хотя, должен признаться, что для меня все это еще очень туманно.

Сейчас я планирую просто наполнить блог такими переводами и ориентироваться на популярность страниц и обратные ссылки.
Тогда желаю удачи;)

p.s^ только продумайте в каком соотношении давать нормальный перевод статьи (для знающих язык или не пытающихся его выучить) и билингвистический. «И да пусть прибудет сила» и вас не заминусуют;)
Спасибо Вам.
Супер! Пользуясь моментом, не могли бы вы посоветовать книги, написанные с использованием этого метода — электронные или реальные?
Все зависит от Ваших предпочтений. Я один из рассказов про Шерлока Холмса прочитал и Трое в одной лодке, не считая собаки.

Вот список книг для английского языка:
g.ua/aMwC
Спасибо!
В приличных изданиях билингвистический текст делают в две колонки (с выравниванием, чтобы абзацы совпадали). Так воспринимать существенно удобней.
Спасибо Вам, приму к сведению. Возможно, вы знаете некоторые такие издания, чтобы я мог посмотреть для примера на английском? Мне на ум приходит лишь Ветхий Завет. Это единственная книга, которую я видел в таком формате, но, она была на русском и иврите.
Во всём нужно искать золотую середину. Можно специализироваться на более привлекательных и мэймстримовых технологиях (если ваша цель — больше зарабатывать), и хотя бы читать и знать возможности популяризуемых (вроде Erlang, Clojure). Можно также пологаться и на релевантность опыта (имеется ввиду недавний топик — я бы сказал инвариантность опыта) — глубокие знания (например, об устройстве сборщика мусора Java, о шаблонах С++, о регулярках, о устройсте ядра какой-нибудь ОС) могут даже не потерять своей значимости при смене технологий. В любом случае, если говорить о программистах-кодерах, то у них есть этакая общая основа, которая позволяет много легче и быстрее адаптироваться к новым технологиям:
— общие приёмы императивного/функционального стилей;
— алгоритмы;
— структуры данных;
— регулярные выражения;
— подходы в многопоточном программировании, способы синхронизации;
— вообще паттерны проектирования и подходы, выработанные с опытом;
— и др.
Всё это не меняется при смене языка/технологии. Например, я был приятно удивлён, когда нашёл в Objective-C (разработка для iPad/iPhone) очень много того, что есть в C# (проперти, лямбды — в Objective C это блоки, аналог look для синхронизации потоков), и доучить пришлось не так много — понять несколько паттернов, новый для шарпера подход к созданию пользовательского интерфейса (всё на вьюхах). В любом случае, век живи — век учись, и от этого никуда не уйдёшь.
Это приводит к ситуации, когда вы думаете, что делаете вашу работу хорошо, хотя, в действительности вы просто не знаете ничего лучшего.

Это точно. Главное вовремя распознать это ощущение и как-то встряхнуться. Другой проект, другая технология, другое место работы.
Может быть это только моё ощущение, но имеет место как раз централизация основных технологий. Всяческие низвергатели авторитетов не могут предложить чего-то действительно нового или радикального. А те же монстры типа Майкрасофта подгребают под себя все более-менее разумные технологии. Кроме того не стоит забывать о том что платформы и языки мэйнстримов имеют библиотки которые только растут и совершенствуются.
Я начал с платформы net 3.5 два года назад и почитав историю всего лишь пятилетней давности понял что мне было бы намного сложнее освоить программирование. За это короткое время был сделан реальный технологический прорыв. Только на качественное освоение всех новых возможностей net 3.5-4.0 может уйти два-три года. За два года MSSQL перехал с 2005 на 2008. Хорошо что без особых нововведений :) Разумеется стоит учесть также, что работая с net вы так или иначе будете работать asp.net и javascript, то есть вынуждены будете разобраться со всем что касается html и xml. И конечно это всё стоит на железобетонном фундаменте всеобемлющего ООП.

Если кто-то может то подскажите — в какой области программирования могут быть новые знания ради которых стоило-бы изучать эти области?
Проприетарные технологии — велосипеды в большинстве случаев, фреймворк — один из немногих положительных примеров.
Как вам стек технологий unix (shell, скриптовые языки, C)? Успешно используется более 20 лет, решает множество типовых задач обработки данных. Есть, соответственно, свободные СУБД.
Это можно было изучать в институте. Или имея аналогичные условия по времени и бюджету содержания тела. Попытки установить nix систему предпринимал несколько лет назад, но ввиду отсутствия реальных задач всё кончилось ничем.

Я конкретизирую свою первоначальную мысль — платформы и языки которые выжили в течение десятилетий сами осуществляют выборку того ради чего стоит держать разум открытым. Делают это более взвешенно и с некоторым временным лагом. И если майкрасофт спускает лунный свет на тормозах, хотя я думаю что скорее выжидает куда подует ветер, то лучше колебаться в тренде с монстром у которого по крайней мере есть студии и куча документов, чем перекапывать малазийские форумы в поисках описания функции коткатенации строк.

Резюме — старые, замшелые технологии программирования, сами держат наш мозг открытым, более того делают это обязательным способом.
Мне статья показалась очевидной. «Технология, на которой вы специализируетесь, может стать неактуальной, поэтому держите разум открытым».
Со смешанным переводом идея хорошая, но реализация не очень. Попробуйте отображать текст в две колонки, слева английский, справа — русский. Еще было бы круто подсвечивать предложение в обоих колонках при наведении на него курсора. В противном случае проще будет выделить кусок и перевести в гугле, чем искать в другом абзаце нужное место.
Спасибо за совет, о двух колонках я уже думал. Проблема в том, что эти колонки требуют очень много места на экране. В Google Translator's toolkit это так и сделано. Там есть и прокрутка текста.

На счет подсветки текста — спасибо, планирую реализовать в ближайшее время.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории