Советы

профессионального программиста

Владимира Коджесяна. Его ответы на мои вопросы


Гигантский каталог программного обеспечения на www.yellow-gold-soft.com

Гигантский каталог программного обеспечения на этом сайте

Главная страница

Главная страница раздела для программистов-любителей

1. Какие языки программирования наиболее предпочтительны (с учётом дальнейшей судьбы этих языков)?

 

Ты задаешь скорее общие, филосовские вопросы. Я могу ответить на них только как сам мыслю. Во всяком случае ответы очень индивидуальны.

Есть люди которые просто ничего не признают кроме Java. А есть наоборот — ярые сторонники языков пониже, вроде ассемблеров и С. У меня взгяд на это такой — все это инструменты для достижения чего либо, молотки и пилы ;) Они конечно разные по возможностям. Но все применимы в жизни, потому и существуют.

C, C++ это исторически старый язык. Он оправдал себя за 50 лет. За ним очень большой задел. Библиотеки, опыт применения в разных областях, множество специалистов. Очень оптимальный и производительный код. Думаю в ближайшее время таким и останется.

Паскаль тоже старый язык. Он родился как учебный и так по сей день и продолжает им быть. Он был
хорош, в старые времена, потому как был почти единственным языком, содержащим развитые структуры
и процедуры. С появлением
C++, это преимущество как то само собой отпало. В целом приложений сейчас на Дельфи (в котором используется язык Паскаль) пишется мало. Не уверен, думаю, где то 10% или меньше. В основном клиенты к базам данных и простые настольные приложения. В своей основе Дельфи содержит паскаль плюс построитель пользовательского интерфейса. По части скорости разработки программ Паскаль давно сдал свои позиции

VisualBasic. Родился где то в то же самое время что и Дельфи. За VisualBasic стоит такой монстр как Microsoft. Так что в общем...

Что касается Javа. Опять же мое личное мнение. Это очень интересный и мощный язык, имеет право на жизнь. У него есть своя личная область применения — программирование интернет-приложений. Его от туда еще не скоро выпрут. Но в Java я вижу два сильных изъяна. Во первых у него принципиально порочный подход к работе с памятью. Точнее жесткая встроенность и невозможность отключения сборщика мусора. Эта идея восходит еще к старому научному языку LISP. Разработчики Java заимствовали интересную идею разработанную очень давно (примерно 1964г). Идея красивая, но для современных практических требованиях очень уж порочна. Вторая проблема у Java — это их лидер, фирма Sun. Фирма Sun старая тяжелая монстровая кампания родившаяся очень давно, и в силу внутренних организационных причин не способная развиваться по современным рыночным требованиям. У Sun было много уникальных разработок — компьютер Sparc, на порядок превосходивший когда то всякие PC, великолепная UNIX-подобная операционка Solaris, монопольный рынок сбыта на серверных платформах. Наконец Java. Которую разработали 4 талантливых студента работавших тогда в Sun. И все эти позиции, за последние 10-15 лет они бездарно «сдали». В общем, сейчас за Java приложениями закрепился кое-какой рынок, в основном серверных интернет-приложений. Но это позиция шаткая, временная и постоянно опускается. Тут, правда, есть некоторые обнадеживающие факторы. Но есть и сильная конкуренция со стороны Microsoft. Эти монстры идею виртуальной машины и нового языка в общем то «позаимствовали» у Sun. Но даже их первая реализация их собственной Java была значительно лучше. С тех пор, Билл Гейтс усиленно наступает на Sun. И думаю скоро «наступит» окончательно. Платформа .NET — это как раз похоже окончательный конец Java от Sun. Так что в «свете сказанного» печальна кончина Java-реализации от Sun.

Что касается C#. Честно — я не знаю его, не работал никогда. Имею только общее представление. В целом это наследник С++, с добавлением современных методов программирования. Сильно похож на Java. В нем можно работать без указателей, что есть очень сильное и характерное средство в C/C++. Если учесть что за ним опять же стоит
монстр
Microsoft, его перспективы — за 3-5 лет стать основным языком программной индустрии. Главная его примечательность — он поддерживает приемственность, хорошо интегрируется с новым С++, Бейсиком и студией.

 

Мне кажется скоро языки высокого уровня будут вытеснять быстрые ассемблеры и т.п. в прикладном программировании. Возможно скоро будет ценнее программа-продукт, написанная за короткое время (ну и пусть она в 10-20 раз больше весит из-за особенностей высокоуровнего компилятора), чем легковесный ассемблерный (или даже Си++) более быстродействующий аналог, который очень долго и трудоёмко пишется (несколько лет). КАКОВА ТВОЯ ТОЧКА ЗРЕНИЯ НА ЭТО МОЁ ПРЕДПОЛОЖЕНИЕ?

Уже, уже, случилось! Этак лет 10 назад. С точки зрения технологий, гораздо важнее выпустить продукт и получить деньги, чем делать его эффективным. Пройдет первая версия, будут деньги можно будет заняться эффективностью. По мне так, давно нужно наплевать на всякие ассемблеры, системно и аппаратно-зависимые языки. Все это древность. Даже когда они нужны, ассемблерный код можно получить путем компиляции высокоуровнего языка. Пока ты будешь год писать эффективную программу на ассемблере клиент закупит новую партию быстрых компьютеров, и купит неэффективный код у твоего конкурента, и его код будет работать на новом компьютере быстрее твоего. Так что забыть давно всякие там ассемблеры. Нужно только иметь преставление как работает машина. Что есть сегменты памяти, и как в принципе происходит исполнение программы.


2. Какой язык нужен начинающему, чтобы не отбить желание учиться?

 

У меня по жизни все было как то сложно. Специально я языки не изучал. Ну разве что Алгол и Фортран еще в институте. У меня все было от реальных задач. Вообще я думаю язык программирования — это не язык в общем понимании, ну не английский или немецкий. Его самого можно выучить за очень короткий срок. Но, например зная в совершенстве язык C/C++, фиг что сразу напишешь под Windows. Потому что нужно знать как работает операционка и какие системные библиотеки нужно использовать чтобы создать окно. Я думаю что знание именно конкретных технологий или операционок гораздо важнее самого языка. Можно быстро срисовать с книжки Java-код какого нибудь апплета. Но что бы его запустить, нужно установить и настроить WEB сервер, написать HTML старничку куда встроить этот апплет. Наконец понимать как работает броузер который этот апплет будет выполнять.


3. Какой язык нужен начинающему, чтобы сразу найти работу?

 

Из твоего письма я понял, что ты хочешь изучать программирование с целью найти работу. Тут лучше всего начать с чего то простого. Что сразу может принести деньги. Я своему ребенку предлагаю начинать с системных работ. Он уже дома в локальной сети установил свой FTP сервер, качает игрушки. Умеет установить железо, настроить операционку. Думаю ко 2-3 курсу сможет устроиться в какую-нибудь торговую фирму поддерживать локальную сеть. Много мало, но в хорошей кампании можно зарабатывать до 400-500 баксов. Это совсем не плохо. Дальше можно программировать Web-сайты. Это наиболее просто. Тут конечно важна Java. Но так же такие технологии. Как PHP, JSP, ASP. Конечно HTML язык, базы данных. Что нибудь понимать в графике, хорошо бы уметь чуть чуть рисовать. Или хотя бы иметь вкус. Сам я начисто оного лишен; потому в этих вопросах меня можно и не слушать. Я знаю ребят которые на Web програмировании зарабатывали в России до штуки баксов. Впрочем, это наверное редкий максимум. Работа эта интересна тем что можно все делать когда хочешь. Хоть по ночам.


4. Работа программиста за рубежом (США)

 

Тут такие соображения. Прием на работу у них ведется формально. Как минимум нужно резюме. В нем перечислить, что где и когда ты выполнял по данной специальности. Я думаю без минимального стажа в 2-5 лет в России искать работу за рубежом не реально. Просто в резюме даже нечего будет вписать. К тому же здесь такая практика. Фирма которая будет брать тебя на работу должна будет обосновать почему она принимает иностранную силу в обход своих работников. И тут формально нужны веские основания. Например про меня писали, что я являюсь редким специалистом в серверных технологиях... На практике это не совсем так. Никакой я не выдающийся, хотя конечно несколько лет работал в этой области. По факту, фирмы нанимают иностранцев только потому что им можно меньше платить, конечно при эквивалентном качестве труда. Ведь как бы там ни было, фирма не сможет оправдать наем выпускника иностранного вуза, который ничем не отличается от такого же местного выпускника. Если это не Гарвард конечно. Хм... В общем жизнь жестокая штука и в Америке тоже. Что касается Канады — не знаю. Там можно купить их гражданство, и тогда ты можешь на общих основаниях искать работу, на равне с местными. Есть еще один очень существенный фактор — знание английского. Язык нужно знать как минимум на уровне чтобы пройти телефонное интервью.  Насчет формального образования в Вузе. Как минимум нужно высшее образование. Хотя бы просто диплом. Штаты принципиально не берут на работу без высшего образования. Это государственная установка. Просто визу не дадут. Конечно есть исключения, можно быть выдающимся артистом, экстрасенсом, чемпионом мира... У меня есть дружек, работает в России, прекрасный парень и великолепный программер. Работает по проектам для иностранных кампаний. Но у него нет диплома. Пытается учиться на заочном. Печально, но его даже на стажировку нельзя сюда вытащить. Хоть какую-нибудь бумажку все же надо. Вот такая формалистика. Хотя неформально, он сам преподавать бы мог.

Вообще здешняя работа напоминает старые застойные времена в России. Когда я ходил в институт на работу. 5 дней в неделю, и 8 часов в день. Перебравшись в штаты долго не мог отвыкнуть от потогонной системы. Тем более перед работал в компании которая только только образовалась. И там приходилось пахать по очень много. Вообще работы в России у меня всегда были потогонные. Ну конечно, отчасти это нравилось. Отчасти увлеченность была. Мы стремились увеличить объем работ на зарубежного заказчика. Но в целом, это работа была на пределе здоровья. Конечно, доходы за это были хорошие. И довольно стабильно. Здесь в Штатах немного по другому. Нет такой пахоты как в России. И «упахивание» не приветствуется. Хотя это зависит от кампаний. Я работаю в крупной кампании. Маленькие кампании работают по-другому. Я знаю одного русского, у него рабочий день 12 часов. Нигде это не афишировано конечно. Но не нравится — уходи. Правда и доходы там могут в 2 раза превышать мои. Тут кто что хочет. Если ты в стране давно, есть грин-кард, или гражданство. Если жена работает и хорошие страховки, можно идти в мелкие кампании, они высокодоходные, но и высоко рисковые. Разоряются. В крупных кампаниях вроде нашей гораздо уютнее иммигрантам. Здесь хорошие страховки, отдел кадров который о тебе печется. Всякие такие прелести. Но зато и платят по минимуму — всё равно никуда не денешься. Конечно работается спокойнее, я прекратил всякую штурмовщину. Отвык от «пахоты». Но здесь много сделано для неявного повышения производительности труда. Вот как у нас обычно в государственных конторах: пришел на работу, чай попил, поболтал с другими. Посидел, подумал о своем. Потом совсем скучно стало — начал чего-нибудь делать. Пока сидишь за столом тебя отвлекают соседи. Здесь у буржуев все сделано для того чтобы ты особо не болтал. У каждого свой офис. Это так называется. Просто небольшая комнатка. Стол, пару компьютеров. В комнатке можно оборудоваться как хочешь сам. У меня вот два цветочка есть! Мусор убирают по ночам. Если кто то с тобой хочет поговорить, тут принято стучаться в офис. Двери стеклянные, но народ всегда завешивает из всякими рисунками. Поэтому если хочешь поспать то в принципе можно. Можно вообще работать дома. Никто не возбраняет. Но мне например нравится мой офис. Здесь очень хороший интернет, и никто не мешает с чаем. Только трудись. В общем это по-честному. Интернет в личных целях не возбраняется, просто призывают не наглеть сильно. Телефон конечно есть. Так наворочен что я до сих пор с ним не разобрался. Тут и звуковая почта, и всякие дозвоны, перевызовы. Но вот что интересно, все разговоры наружу оплачивай сам. Даже местные звонки по городу. Я не думаю что хозяину компании жалко денег. Это смешные деньги. Но это повод ограничить людей от всякой болтовни. В то же время факс в Россию можно отправить без всяких ограничений, за счет фирмы. Конечно работают здесь программисты, а профессия должна нравиться. Я тоже получаю удовольствие, может не такое конечно как от музыки в живую. Но если бы мне программирование было в тягость, конечно бы забросил давно. У меня принцип, я ни за какие деньги не буду делать то что не нравится. Поэтому народ все-таки не спит на работе, а увлеченно работает. Контроль со стороны менеджеров конечно есть. Но это сделано очень мягко, без нажимов на личности. Тут же демократия — если что в суд. Когда я только начал работать, я спрашивал моего менеджера, что кампания от меня хочет ? Он сказал такую парадоксальную фразу. «Это зависит от тебя, что ты хочешь сделать для кампании». Вот такой оборот сильно отличается от нашего российского подхода. Поэтому тут есть выбор. Ты можешь сам выбирать проект, над которым будешь работать. Соответственно команду, группу, менеджера. Конечно это не так, что в любой момент взял и свалил. Но если ты куда стремишься, можно поставить в известность одного менеджера, договориться с другим, и по окончании текущего задания перейди в другую группу. Можно работать над несколькими проектами одновременно. Здесь с работы удалено все общественное что на прямую не связано с проектами. Здесь нет понятия коллектив в нашем понимании. Кто-то с кем-то дружит, но это все за пределами кампании. А так никто не знает увлечения друг друга, где кто живет, у кого какие события. На работе не празднуют ничего. Разве что при выпуске продукта или завершении проекта маленький патлак. Это когда кто что хочет приносит на общий стол, а менеджер заказывает пиццу за счет кампании. Дни рождения здесь не празднуют. Принято приносить какие-нибудь конфетки, и те кто тебя знает близко, зайдут к тебе в офис угоститься и поздравить. Очевидно такой подход дает буржуям высокую производительность труда. Я не думаю что Америка разбогатела таким образом. Но работы у них организованы безусловно значительно лучше. Это приходится признать. Есть еще сильная специализация труда. Не дай бог у меня вирус на компьютере. Я сам его ловить не обязан, для этого есть системщики. А уж тем более ставить операционку или чинить железо. Отношения довольно формализированы. Я пишу заявку через локальную сеть. Они регистрируют заявление и махом чинят.

В америке имеешь работу — имеешь все. Здесь очень хорошая и доступная еда. Масса витаминов круглый год. А их рестораны лучше избегать, сразу все в жир переходит. Блюда как тазики. Лучше брать один на двоих. В общем — сытая страна. Конечно из меркантильных интересов здесь нужно побывать, еще лучше пожить. Я не уверен что я всегда буду здесь, жизнь может по-всякому сложиться. В америке очень дешевый интенет. Я плачу 9 баксов в месяц за неограниченный доступ. Правда модем занимает телефон...


5. Как ты стал программистом такого высокого уровня? Где учиться?

 

Я закончил обычный переферийный вуз.. По специальности конструктор-технолог. На практике конструктором работал от силы с пол года. Потом начал программировать. Мы делали автоматизированную систему проектирования печатных плат. По тем временам довольно модерновая была. Когда настала пора кооперативов, мы продавали части этой системы по России, делали программы на заказ. Помню,  мотался в командировки в разные города. Сейчас конечно все уже сделано, всякие там PCAD, AutoCAD.

Образованием своим я разочарован. Вообще говоря, я получил довольно слабое образование. Нас натаскивали на конкретные нужды конкретных радиозаводов. Спустя пару лет знания устарели, а основы были заложены слабые. Так что физику я знаю плохо. Позднее сам почитывал математику и физику самостоятельно. До сих пор иногда читаю. Ну поскольку математическая практика большая — для работы знаний хватает. Но пробелы так и остались. Как ни критикуют образование в штатах — тут студенты пашут всяко больше. Никакие поблажки не проходят. За списывание вообще отчисляют. Иногда в классах камеры стоят. Поэтому они по окончании вузов знают Unix, ООП, клиент-сервера. А так же всякие спец. предметы вроде логики и предикатов.

Если у тебя есть диплом, зачем тебе еще учиться? В крайнем случае нужно окончить какие нибудь укороченные курсы. А еще лучше просто практика нужна. Для работодателя ведь важнее что ты реально делал. Я тоже радиолюбителем был с 6 лет. Как собрал детекторный приемник. Потом лепил гитарные приставки для моего школьного ансамбля. Тогда модна была квакушка. Потом строил радиостанции. Сейчас радиосвязь наверное совсем в загоне. Интернет нынче в моде. Еще мы с дружком лепили транскодеры для кабельного телевидения. Перекидывали сигнал из PAL-а в SECAM и в кабель. Кстати не криво зарабатывали. Времена были веселые.


6. Нужно ли начинающему программисту изучать UNIX-подобные системы (с открытым исходным кодом)?

 

Знание Unix безусловно полезное. В России он меньше развит. В Штатах значительно более. В основном это серверные решения. Поставить на стол Unix мало кому нужно. Он сложнее и интерфейс у него не такой дружелюбный как у Windows. Приложений под него меньше. Во всяком случае настольных. Инсталляция пакетов и удаление сложнее. Русской документации мало. В-общем, во всех отношениях он сложнее.

Unix — открытая система. Это значит в нем до всего всегда можно докопаться. Все решения открыты. Вплоть до исходных кодов ядра. Windows — наоборот система закрытая. Никто не знает как работает Windows внутри. Описана только общая архитектура. Считается что Windows - собственность Microsoft, и могут менять внутренние решения без оповещения пользователей об этом. Это и плохо и хорошо. Плохо потому что если что то не работает, то нет уверенности, что порядочно повозившись можно это отладить. Можно уткнуться в недокументированные особенности, а хорошо то, что за твои проблемы отвечает Микрософт. Если что то не работает по вине операционки, то ее покупатель не обязан с этим разбираться. Просто нужно скачать апгрейт или сервис пак. По мне так второе важнее. В конце концов только единицы выдающихся программистов разрабатывают действительно что то очень сложное. Большинство приложений используют 30% возможности операционки. А уж эти 30% Микрософт вылизал. Ну так что до остальных 70% ?

Юникс содержит в себе множество артефактов. Это его история. Очень древняя операционка. Например, для того чтобы посмотреть файлы в директории, нужно набирать команду ls -a. Конечно в Unix уже добавлен оконный интерфейс. Но без консоли реальная работа не обходится. Меня например бесят заумные команды, такие как, поискать файл в системе

"find . -name 'filename' -print".

Unix бесплатный. Он хорош если нужно сделать интернет-решение за даром. Но менее удобен, если речь идет о том чтобы делать бизнес в интернете. Система Unix в этом случае будет хороша только для очень крупных компаний. Большинство мелких и средних интернет магазинов крутится на Windows + IIS + MSQL. Плюс еще какие-нибудь коммерческие примочки. За которые нужно заплатить, но и забыть проблему. Потому как за их работу будут отвечать продавцы.

Программисты любят Unix за его открытость. В нем можно поковыряться и проявить себя. Есть народ который пишет свои ядра. Оно конечно круто и интересно. Только есть много более рутинных дел которые более насущны, а потому и бабки платят именно за них.

В общем у меня такое мнение — Unix от необходимости. Если только есть сильная потребность в нем. Я думаю, есть более востребованные вещи которые нужно знать в первую очередь. Например базы данных, и SQL язык. Если конечно ставится цель иметь востребованные знания. Но можно конечно и по любви. У меня была одно время неразделенная любовь к языку LISP. Я даже интерпретатор свой написал. Только кому это сейчас нужно. Или программирование на Прологе например. Еще пример. Научный институт где я работал когда то очень крупный. Около 400 компьютеров повязанных в сеть. Сейчас ни одного юникса в институте не используется, ну почти. ВЦшники правда любят юниксы. Но как видишь даже крупные предприятия обходятся без таких систем. А один российский банк только пару лет назад внедрил Windows. Они вообще работали на Betreiwe. Это что то вроде полу-DOS полу-база данных, полу-сеть. Системы Unix у них до сих пор нет. Не нужен.

Конечно кругозор полезен. Настоящему физику полезно знать историю жизни Максвелла. Но простому электрику достаточно знать правило буравчика. Если рассуждать сугубо житейски.


7. На чём начинать программировать, если вообще не программировал?

 

Обрати внимание на VisualBasic. Не слушай снобов которые только в Unix-ах и на ассемблере драйвера пишут — мол VB это для школьников. Студия и VB это одно из мощнейших средств разработки. Под ним лежит передовая технология COM. К тому же он прост, и очень быстр в получении первого результата. Буквально за пару часов ты начнешь писать простые прикольные аппликашки. Типа интересных часов, или простых текстовых редакторов, или карточных игр. Это очень замечательный инструмент. С первого взгляда не видно, но в VB есть ряд очень уникальных изобретений. Например очень эффективно реализована работа с памятью, можно про нее не думать почти как в Java, и в тоже время приложения так не «пухнут» как Java приложения. А самое главное прививает вкус к програмированию, лучше чем любой юникс. Потому как за 5 минут творишь и оно тут же видишь результат своего труда!


8. Можно ли в 35-40 летнем возрасте бросить свою прежнюю работу и стать хорошим программистом?

 

Я вот все думаю. Ты занимаешь определенную ступеньку на музыкальной лестнице. И зачем ты хочешь это променять на программирование ? Пусть даже в отдаленной перспективе. Я бы наоборот побежал. Может конечно каждому свое. Но элемент творчества в музыке не сравнить с программированием. Программирование — это индустрия. Забивание гвоздей. В меркантильном смысле оно конечно проще. В том смысле что минимальных успехов в программировании добиться можно даже при посредственных врожденных способностях. В основном паханием и усердием. В музыке наверняка сложнее...

Конечно можно. В 40 лет жизнь не кончается.


9. Немного из истории ремесла

 

Одно время все делилось на прикладное программирование и системщиков. Когда я только начал работать программистом в научном институте. Этак год 1986, примерно. Тогда «системщик» это было что-то магическое. Как в каком то фильме герой бродит по коридорам организации и случайно заглядывает в комнату, а там Шурик (Александр Демьяненко) говорит — «а сюда нельзя, здесь электронно-вычислительная машина». Герой тихо так говорит - «А-а-а...» В общем я по большому блату попал в зал машин. И ходил туда иногда ленты на магнитофоне писать. Ну меня там конечно представили потом. А так просто страх был какой то. Я со своей маленькой «Электроника-60» программировал редактор для печатных плат. А системщики занимались написанием драйверов. Во как было круто. К своему стыду я так ни разу и не написал драйвера. Разве что русификатор клавиатуры под DOS. А системщикам в рот заглядывал. А потом как то все поменялось. Системы стали устанавливать рядовые пользователи. Крутые ЭВМ, которые имели ужасно сложные по тем временам операционки (вроде RSX, VAX) как то сразу оказались маленькими серверами с Windows3.51 или Unix. И пошло все наоборот. Из системщиков получилась каста программеров которые держатся около железа. Умеют инсталлировать Windows,(а кто этого не умеет сейчас), наиболее продвинутые могут поставить Юникс и собрать несколько компьютеров в сеть, поставить всякие FTP, WWW.(опять же, этого сейчас не умеет только тот кому это ни разу не нужно было)

А вторая каста образовалась из прикладников. Оказалось что второе значительно сложнее и дороже. И зарплата сразу дифференцировалась. Тот народ что может железо собрать и Windows поставить большей частью оказался в торгующих железом фирмах. А программисты умеющие набивать код оказались востребованные на западе. Правда этот бум уже прошел. А я счастлив оказался что наплевал в свое время на все эти драйвера. Оказалось лучше знать какую то прикладную область + разбираться в том что в ней востребовано, знать продукты в этой области и разбираться в перспективах ее развития. Если еще и английский, то можно искать работу даже на западе. Не знаю может мне повезло. Программирование - это какая то волна, которая оказалась к месту именно в двадцатом веке. Наверное в следующем веке будет биоинженерия. Уже сейчас в штатах спрос на биологов очень высок.


10. Жалко денег на обучение. Что про это думаешь?

Жаба — самое страшное животное, она пол мира задушила. А вообще самое ценное вложение денего — это в самого себя. Машина может разбиться, дом сгореть, банк разориться. А знания в голове обесценятся только после смерти.


11. Хочется заниматься интересными научными исследованиями и при этом хорошо зарабатывать. Например, в области искусственного интеллекта и т.п.

Программирование — это сплошная инженерия, причем уже со сложившимся рынком. Ничего тут изобрести нельзя. Можно только встроиться в конвейер. Так же как на заводах Жигулей крутить гайки. Ты упоминал про научные задачи, искусственный интеллект, распознавание образов, машинные системы зрения. Все это большая наука, об которую человечество расшиблось за последние 50 лет. Еще Фон Нейман предсказывал, что в 2000 году машины будут умнее нас. А воз и ныне там. Многие то и поостыли к этой тематике. Ибо оно конечно интересно, но денег в этой области — только от научных грантов. А это гроши. Даже здесь в Америке. У меня дружек два года ковырялся в компьютерной графике, задолбало его ездить в тачке со свалки. Сдался. Сейчас в Кодак Полихром, науки мало, зато сам, его жена и дочка все на машинах. В те области где не видно прямого выхода денег, никто не будет вкладывать деньги. Поэтому из программирования процветают области автоматизации тупого труда. 70% всего программирования — это базы данных и распределенный доступ к ним. За это платят банки, риэлтерские конторы, бухгалтерские подразделения. Внедрил систему, увеличил качество обслуживания, обошел конкурентов. А главное упростил работу. Компьютеры не ошибаются в цифрах. А там где нужна наука — никто не платит. Только очень крупные фирмы могут позволить себе содержать научные подразделения. Microsoft research group например. В нашем предприятии сотрудников около тыcячи, и здесь есть исследовательское подразделение. У меня дружок оттуда жаловался, «Вам хорошо, все новые компьютеры по первому требованию вам, а у нас остаточный принцип». Вот так. Хозяин хоть и сам большая научная светила, но в первую очередь бизнесмен, деньги считать умеет и без разбору в научные исследования не вбухивает. Повсеместно тот же жизненный принцип: хочешь интересную работу, иди в науку. Будет тебе и искусственный интеллект и говорящие роботы. Только затяни штаны сначала потуже. Истинный ученый как и настоящий музыкант должен быть голодным. Обидно, да? А хочешь чтобы деньги были, приходится делать не столь интересное, но нужное. Я за последние пол года, написал этак штук тридцать примеров. Единственная их цель - проверить работоспособность продукта, да еще показать клиентам как нужно программировать отдельные куски. И конца и края моим примерам не видно. Спасает только то что наушники на ушах, а там музыка. Пока слушал, написал что требовалось. Это конечно крайнее высказывание, примерно так же как и ты высказался, про сцену и потную рубашку. Конечно в любом деле можно найти интересное. Скорее зависит от тебя самого. Но вот про искусственный интеллект я давно забыл. Когда то писал интеллектуальные компиляторы, нейронные сети даже. Но деньги нужны — пишу примеры.

А вот тебе интересная ссылка — http://www.darpa.mil/grandchallenge/schedule.htm . Тут американцы не могут найти деньги на разработку искусственного интеллекта, так они просто кличь бросили. Участвует все кто хочет. Обрати внимание, приз — миллион долларов. Согласись — для такого дела это сущие гроши. Вот тебе и показатель отношения нашего цивилизации к новым технологиям.

Вкратце. Объявляется гонка роботов. Они должны проехать по пересеченной местности от Лос-Анджелеса до Лас-Вегаса. Это примерно 300 миль. Причем маршрут будет выдан в последний день. Команды-участницы могут только быстро запрограммировать своего робота. После этого они не имеют право вмешиваться в его работу. Каждый робот должен быть оборудован устройством экстренного останова. На случай если этот балбес на людей поедет, хоть и местность там пустынная. Робот забирается в полное ведение военных которые и проводят эти гонки. Дальше никаких ограничений. Хоть на колесах, хоть ползком. Предполагается что большинство роботов будет двигаться по GPS. Это глобальная система позиционирования. Как вот только они будут объезжать препятствия? Впрочем, ездит же робот по Марсу. Конечно на миллион такую программу не постоишь. Участвуют в основном лаборатории уже работающие в этом направлении, Ford, Toyota. Предсказывают, что ни одна из машин до Лас-Вегаса не доберется. Не могут видеть роботы как люди... Рылом не вышли.


В програмировании у меня творчества сейчас мало. Представляешь себе огромный завод. Вот оно и есть такое нынче програмирование. Я свои кирпичики с утра до вечера делаю и буду делать вечно. Какое уж тут особое творчество. Разве что платят хорошо.

Музыка — она из другой области, это что то от святого и вечного. Но наверное там тоже действуют объективные законы. Мне эта область нравится тем, что никогда никакие объективные законы не удалят из неё творческое начало. Чего не скажешь про программирование. Это когда-то программирование считалось искусством. Сейчас это больше мусорогребля, правда за хорошие бабки. И вот что интересно, если музыкант, какой бы он ни был, все таки имеет шанс создать шедевр, пусть очень маленький. То в программировании таких примеров нет совсем. Бил Гейтс что ли ? Так это скорее выдающийся бизнесмен и организатор, чего он гениального запрограммировал, DOS что ли ? Вообще нельзя это сравнивать, не сравнимо это никак.

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

Это мое субъективное мнение. Не верь на слово. Все нужно проверять самому.

продолжение данной темы

к оглавлению раздела для программистов

К главной странице

Hosted by uCoz