Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Что же выбрать из "высших" языков программирования?
 
 автор: sl1p   (05.08.2011 в 11:43)   письмо автору
 
 

Что выбрать из так сказать "высших" языков?
Постоянно смотрю свежие вакансии с хорошей зп, и везде фигурирует C, C++ но не Java.
Хотя яву вроде как уже начал изучать.
Какая между ними разница? Как раскурить что лучше?

  Ответить  
 
 автор: psychomc   (05.08.2011 в 12:10)   письмо автору
 
   для: sl1p   (05.08.2011 в 11:43)
 

хм...а вакансии с PHP разве закончились?

  Ответить  
 
 автор: Кузнецов М.В.   (05.08.2011 в 12:20)   письмо автору
 
   для: psychomc   (05.08.2011 в 12:10)
 

PHP высшим языком я б не назвал даже в кавычках.

  Ответить  
 
 автор: cheops   (05.08.2011 в 12:41)   письмо автору
 
   для: psychomc   (05.08.2011 в 12:10)
 

>хм...а вакансии с PHP разве закончились?
PHP он не навсегда, рано или поздно вакансии закончатся или сместяться в другую степь... Вон по Perl можно сказать, что вакансии закончились, а язык и его задачи по винтику растащили по другим языкам и нишам.

  Ответить  
 
 автор: psychomc   (05.08.2011 в 23:57)   письмо автору
 
   для: cheops   (05.08.2011 в 12:41)
 

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

  Ответить  
 
 автор: Кузнецов М.В.   (06.08.2011 в 04:35)   письмо автору
 
   для: psychomc   (05.08.2011 в 23:57)
 

>у нас сейчас очень хорошо платят 1с-программерам
Бухгалтерам всегда хорошо платили. Но одинэсников я за программистов не считаю. Сколь бы они на меня не обижались. К их радости скажу, что не считаю программистами и тех, кто знает только PHP. Это всё с точки зрения реального программирования - возня в песочнице. Да, если это приносит деньги - чего б не повозиться. Но выучив, скажем, только PHP, и более ничего не зная называть себя программистом - ну увольте. Сейчас да, всё проще. Есть масса библиотек. Подключил - и ветер в жопу. Но для меня программист это тот, кто эти библиотеки может писать сам. Мы писали. И другие писали. И некоторые пИсали порою. Кровью. ...Программирование ведь тоже героическая профессия. Попутаешь плюс с минусом - и - ...
...Мы обошлись без трагедий. Я своих бойцов заставлял по пятьсот раз за неделю все перепроверять, когда мы работали на сверхсерьезные задачи. Потому что когда за ++ -- стоит плюс-минус жизнь, это уже не сайты. Это стреляться, если ошибешься.

  Ответить  
 
 автор: cheops   (06.08.2011 в 10:46)   письмо автору
 
   для: psychomc   (05.08.2011 в 23:57)
 

Конечно... программы нужны постоянно, в этом и проблема, что идет постоянная смена технологии, однако, есть фундамент - ассеблеры, SQL, ряд популярных императивных языков, функциональные языки, которые зачастую не меняются годами или меняются слабо. Объем IT-отрасли, количество специалистов таковы, что освоить все на уровне специалиста или эксперта невозможно. 1с вы вероятно не хотите изучать, потому что догадываетесь сколько примерно лет её нужно изучать и что 70% (и это еще вероятно оптимистично) из этого будет вообще не связано с программированием. Т.е. вопрос стоит на что потратить годы и окупится ли это время через 5, 10, 15, 20 лет. Изучение PHP, а уж тем более Perl не проходит даром, не справедливо так утверждать. И то и другое полезно и помогает изучать другие языки (но КПД меньше). Более того, ни Java и C++ не перекрывают все множество языков, т.е. их тоже не достаточно, чтобы вас языки программирования перестали удивлять. Лучше ориентироваться сразу на 5-10 языков, пусть даже некоторые вы забудете после обучения и использования - нужно будет - все моментально вспомниться.

  Ответить  
 
 автор: Кузнецов М.В.   (05.08.2011 в 12:30)   письмо автору
 
   для: sl1p   (05.08.2011 в 11:43)
 

Зависит от того, что Вы хотите делать. Точно - выучите С++, выучите все, что угодно за тройку недель. А если будете знать Лисп и Пролог, Вас хоть завтра на запад можно шпионом засылать :)
К слову, Lisp и в Веб можно неслабо применять. Не буду открывать тайн, так как мы сами собираемся это делать :)

  Ответить  
 
 автор: cheops   (05.08.2011 в 12:35)   письмо автору
 
   для: Кузнецов М.В.   (05.08.2011 в 12:30)
 

К Lisp нужно голову прикладывать... одного языка даже на очень хорошем уровне мало. Java и C++ чем удобны - там без головы можно зарабатывать, пусть поменьше, но гарантировано: смотришь в ТЗ и переводишь на язык программирования.

  Ответить  
 
 автор: Кузнецов М.В.   (05.08.2011 в 15:33)   письмо автору
 
   для: cheops   (05.08.2011 в 12:35)
 

>Java и C++ чем удобны - там без головы можно зарабатывать

:))) Я давно подозревал, что все программисты это всадники без головы. Одного меня дурака только учили думать :)))

  Ответить  
 
 автор: cheops   (05.08.2011 в 15:53)   письмо автору
 
   для: Кузнецов М.В.   (05.08.2011 в 15:33)
 

У тебя все летало и ползало, причем выполняя задачи, а не ломаясь в точке назначения... на такой уровень давно в массовом порядке не натаскивают, если вообще когда-либо натаскивали... Чем больше программист думает и чем больше математики он знает, тем меньше он зарабатывает... Когда я на LISP (ну или чем-то подобном) писал программы последовательного символьного вывода решения системы дифф.уравнений я получал 1/15 от средней заработной платы по стране (то ли 20, то ли 40 $ в месяц, не помню сейчас, да и доллар сам стремительно обесценивается). Когда 95% моего времени стали занимать задачи из 3-4 класса, заработная плата превысила среднюю. Это ни для кого не секрет, поэтому я думаю, сейчас даже вида не делают, что натаскивают программистов на что-то серьезнее линейной и дискретной алгебры (которая нужна будет 3 из 100). Понятно, что ситуация того же сорта, что и недобор в ВУЗы в 90-е годы, что в ближайшие 10-20 лет ситуация может резко измениться (звоночки есть). Но пока так.

  Ответить  
 
 автор: Кузнецов М.В.   (05.08.2011 в 17:42)   письмо автору
 
   для: cheops   (05.08.2011 в 15:53)
 

Гош, тут как себя поставить. Когда я программил мне платили деньги достаточно приличные. Это были как раз уравнения, математика, физика там всякая... Понятно, что если идти на завод, где средняя зарплата не превышает 10 000 р., то выше и не будет. Или в науку если туже идти. Там - ничего не заработаешь, не мне тебе рассказывать. Но есть и другие области. И там нужны специалисты, которые могут не только на уровне начальной школы работать.

  Ответить  
 
 автор: cheops   (05.08.2011 в 18:29)   письмо автору
 
   для: Кузнецов М.В.   (05.08.2011 в 17:42)
 

Хм... ну ты физику знаешь (от акустики до элементарных частиц), биологию, биофизику, химию, физ.химию, хим.физику, большое количество мат.разделов и на счету готовые разработки еще на советской элементной базе разработанные 20 лет назад, о которых ЦРУ с гордостью сообщало, что оно их наконец разработало в прошлом году... Да еще и поставить себе можешь (т.е. послать всех далеко, да еще и жизнь любому генералу-академику усложнишь так, что тебе телефон с извинениями обрывают). Все ж таки ты мягко скажем не типичный случай...

  Ответить  
 
 автор: cheops   (05.08.2011 в 12:33)   письмо автору
 
   для: sl1p   (05.08.2011 в 11:43)
 

Java-специалистов в мире довольно много, Java сейчас используется вместо Pascal для обучения. Поэтому на рынок каждый год выкидывается большое количество Java-специалистов, несмотря на то есть спрос или нет. Java по моим ощущениям очень плохо прижалась в РФ, я так думаю главным образом из-за слабого распространения UNIX-систем.

Язык C вообще говоря является подмножеством языка C++ (различия есть, но очень незначительные), т.е. если вы знаете C++, то вы знаете C. Разница между ними заключается в том, что C++ поддерживает ООП, а C - нет. Изначально C - это системный язык для разработки операционных систем (Операционная система UNIX знаменита тем, что это первая операционная система, разработанная не на ассемблере, а на C). В C/C++ вы управляете памятью сами, в отличие от Java, которая за вами прибирает. На C/C++ можно писать более экономные и эффективные программы, но вероятность ошибки более высокая - сложный язык. Здорово отличаются ООП модели - это две разные философии.

Самих по себе языков не достаточно, нужно еще знать как и куда их прикладывать. В Java что удобно - она сама себе среда, это не просто язык - это технология: летает, плавает, стреляет (это что-то вроде .NET, вернее .NET - это калька с Java, только языков много, а платформа одна). При помощи Java хоть сайты разрабатывайте, хоть холодильники программируйте. С++ требует сред и библиотек, само их изучение - довольно длительный процесс. Зато, при помощи его можно хоть 3d-игры писать, хоть операционные системы, хоть базы данных - вы получаете машинный код - быстрее и эффективнее языка не найдете (ну разве что ассемблер, с его зависимостью от платформы, но это не серьезно в плане денег и работы).

По уму нужно знать и Java и С++, и лучше задаться целью знать оба языка. Если результат нужен быстрее, то лучше начать с Java, если хотите стать очень сильным программистом, знающим множество платформ, языков программирования, чем быстрее вы выучите C++, тем лучше. С++ кроме того довольно популярен в РФ, я знаю множество программистских коллективов, которые устойчиво зарабатывают при помощи C++ (и лишь парочку, кто делает деньги на Java, главным образом в разработке ПО для мобильных устройств).

PS Кроме того, учитывайте, что у Java были непростые годы - Sun обанкротился, Oracle, конечно Java очень нужна и нет сомнений, что она будет развивать Java очень интенсивно, но это очень своеобразная компания... C/C++ в этом плане гораздо более диверсифицирован. В общем C/C++ сложнее изучать, применять и зарабатывать при помощи его, но он полезнее в перспективе на несколько лет, а то и десятков лет (а это для IT, сами понимаете, очень много и редко встречается).

  Ответить  
 
 автор: Den*s   (05.08.2011 в 16:58)   письмо автору
 
   для: cheops   (05.08.2011 в 12:33)
 

Игорь Вячеславович, а что вы можете сказать о C#

  Ответить  
 
 автор: Кузнецов М.В.   (05.08.2011 в 17:34)   письмо автору
 
   для: Den*s   (05.08.2011 в 16:58)
 

ИВ скажет, но и я добавлю, хоть меня и не спрашивают :)
Нормальный язык с точки зрения того, что позволяет зарабатывать. С точки зрения обучения - лучше начинать не с него. Хотя это будет сначала менее выгодно.
Тут вот ещё какой аспект. Если Вам 50 лет, то лучше учить наиболее простой язык - PHP там, Си диез и т.д. Если Вам 20 учитете си два плюса а в параллель можно что-то более денежное. То, что сейчас приносит деньги. Два Пи через H хоть... Но база всегда должна быть сильной. Тогда Вы не будете задаваться вопросом какой язык учить. Какой нужно, такой и выучите. Я 10 лет не работал на флоте. А тут волею судеб пришлось вернуться. Понадобилось пару дней, чтоб всё вспомнить. Потому что база была капитальная. Ходил на всём, на теплоходах всех типов. И лоцию любого ГБУ зазубрил так, что по сию пору всё помню навскидку. И в программировании также. Нужно нарабатывать базу. Чтобы не попасть промеж строк, когда вдруг сменится технология. Другой пример. Музыкальный. Есть классные ребята, которые на "трех блатных" неплохо поют. Но вот их приглашает крутой дядя за неслабые бабки и просит не Am-Dm-E7, а классику. И - всё. Они не могут. Потом туда приглашают любого другого, у которого за плечами не только верхушки, а муз.школа. Си диез - это "три блатных". Язык простой. Пока популярен. Пока на нем можно заработать. Но я почти уверен, что скоро это время уйдёт. Мир слегка в иную сторону катится. А расширить Си# до того, чтобы он соответствовал требованиям времени вряд ли получится...

  Ответить  
 
 автор: cheops   (05.08.2011 в 18:17)   письмо автору
 
   для: Den*s   (05.08.2011 в 16:58)
 

Это PHP для создания Windows-программ... Из плюсов, на нём быстрее можно создавать Windows-программы (на C++ и Windows API дорого и долго, хотя они будут выполняться чуть не на Windows 95, по крайней мере есть возможность написать такую программу). Microsoft ведь мало что оригинального изобретает - она берет лучшие аналоги и делает свое, изменяя их так, чтобы с оригиналом не было совместимо. Видит Macintosh - делает Windows, видит Java - делает J++, запретили судом J++ - делает .NET, видит VCL - делает Windows Forms. C# - то по сути C++, который был превращен в Visual Basic с C-синтаксисом и который работает только в Windows.

Для выполнения кода нужна .NET среда (это плохо), код быстрый и компактный (это хорошо). Ниша только растет (это хорошо), потому что на C++ действительно создавать приложения дорого, долго и ошибок больше. Из минусов - это Windows-ориентированный Visual Basic, довольно жестко увязанный на различные FrameWork-и Microsoft. Это не плохо, это даже хорошо, но при очередной революции и смене тенденций вы первым теряете работу. К сожалению, неизвестно когда эти революция произойдет, может со следующей версии Windows, может через одну, может через две. Но рано или поздно это все опять выкидывать, без твердого знания Windows API вдохнуть жизнь в программы для этих оболочечных программ очень сложно. Был Visual Basic, был C++ Builder - даже если эти программы еще работают (3 из 10), то откомпилировать их почти не реально - все очень здорово поменялось. Возьмите программу из знаменитой книги Ч.Петцольда "Программирование для Windows 95" - они не только запускаются, но и компилируются.

Для программ, которыми будут пользоваться пол года C# подходит, для чего-то вроде Photoshop, Flash-плеер, 3d-игра, в общем проектов с серьезным оборотом - никуда не годиться. Это не значит, что все должны заниматься тяжеловесным ПО, просто нужно трезво взвешивать плюсы и минусы, а также реальные потребности клиентуры и разработчиков. Кому-то C# - то что нужно, кому-то - никуда не годится.

  Ответить  
 
 автор: Саня   (06.08.2011 в 09:21)   письмо автору
 
   для: cheops   (05.08.2011 в 18:17)
 

> Для выполнения кода нужна .NET среда
Для java тоже нужна своя среда и ничего, все пользуются.

> это Windows-ориентированный Visual Basic, довольно жестко увязанный
> на различные FrameWork-и Microsoft
Жеско увязан только на .NET. Впрочем, .NET можно и из С++ использовать. Microsoft поступила разумно и открыла в свободный доступ спецификацию .NET, поэтому появился свободный порт на линукс и мак — mono. Причём, можно написать код в VisualStudio, там же откомпилировать его и запустить в линуксе. Проверено.

  Ответить  
 
 автор: Den*s   (08.08.2011 в 10:55)   письмо автору
 
   для: cheops   (05.08.2011 в 18:17)
 

Про ASP.NET(C#) и PHP имею представление, когда то неплохо обращался с 3D Studio Max.
Теперь понимаю что нужно заниматься С++
Душа лежит либо в веб, либо в 3D графику, на виндовс программы чуть ли не аллергия. Что в таком случае выбрать, и с чего начинать, годиться ли среда Visual Studio для разработки на С++ совместно с 3D Studio Max? Может я вообще не в ту сторону думаю ...

P.S. Возожно я не прав, но после выхода и раскрутки SharePoint 2010 создаётся ощущение что C# (.Net) лет этак 5-7 будет востребован ...

  Ответить  
 
 автор: cheops   (08.08.2011 в 12:25)   письмо автору
 
   для: Den*s   (08.08.2011 в 10:55)
 

3D-мир не сошелся клином на DirectX, есть OpenGL, который появился раньше и работает на всех платформах. Там деньги взять сложнее... но это реальная альтернатива.

>годиться ли среда Visual Studio для разработки на С++ совместно с 3D Studio Max?
Понимаете в чем штука - мир 3D довольно разнообразен, вы на Python игры можете создавать, используя 3D модели, причем не обязательно из 3D Studio Max, но из неё точно для всех движков все подойдет (покрайней мере с конверторами в нужное вам представление проблем не должно возникать). Там вообще все разделено по специализациям - один модели строит, другой текстуры накладывает, третий - анимацией занимается, четвертый - движок пишет, пятый - логику для движка (понятно, что чем больше вы знаете специализаций - тем лучше). 3D Studio Max подойдет для чего угодно - он там очень далеко в пищевой цепочке от C++.
Мир программирования так же не сошелся клином на Visual Studio, тем более вам из Visual Studio для 3D не понадобится ничего кроме редактора и компилятора (который бесплатно распространяется). Все движки пишутся на Windows API, т.е. берете бесплатную начальную версию Visual Studio C++, берете бесплатный DirectX SDK и в перед... Не нравится DirectX, хотите, чтобы работы были доступны и под UNIX, изучайте OpenGL. А вообще профессионал в области 3d обе библиотеки должен знать... там сложность даже не в библиотеках, а в понимании самого процесса построения 3d-сцены. Вы ничем мир не удивите, если не будете знать от и до, что внутри этих библиотек/видеокарт творится.

>P.S. Возожно я не прав, но после выхода и раскрутки SharePoint 2010 создаётся ощущение что C#
>(.Net) лет этак 5-7 будет востребован ...
Да и дольше наверное (это же ниша Delphi и Builder)... более того и Com (Com+, ATL) до сих пор востребованы, как вы иначе напишите что-то вроде Flash-плеера для IE или того же DirectX? Понимаете Microsoft не потому такая богатая, что не умеет манипулировать интересами разработчиков. Лет через 5-7 будет куча кода на C# и армия C#-разработчиков, которые будут знать эти технологии от и до, с какой радости им покупать дорогущую студию изучать новые технологии... значит их нужно будет изобрести и ввести, причем таким образом, чтобы изучали... Нужен рынок, он создается постоянным изменением стандартов, весь мир уходит от встроенного SQL, значит нужно LINQ срочно вводить, чтобы через 5 лет предоставить инструменты и новые методики программирования с уходом от него. Что там еще у нас нет? А вот есть такие функциональные языки, зачем же нам LISP или еще двадцать его потомков, давайте F# изобретем все-равно сожрут. Тем более Windows-разработчики они же дикие, функциональных языков не видели...

Весь этот цирк уже не одно десятилетие длится, почему такие базовые технологии, как C/С++, SQL, регулярные выражения, функциональное программирование, объектно-ориентированное программирование в почете и уважении - это работает везде (не зависимо от платформ и формы, которую они принимают). Все эти новые языки и технологии очень сильно напоминают эти основы и повторяют мотивы. Т.е. если вы знаете базис, вам зачастую пару дней нужно, чтобы приспособиться к новой мишуре и начать работать.

PS Это не значит, что новые технологии не нужно изучать или они плохие, просто у мира IT есть базис, на котором все эти технологии построены, если этот базис освоить - вы будете понимать зачем вводится та или иная технология, а главное сколько она проживет и когда начнет отмирать. Причем о новом языке или технологии будете заранее знать от 50-70% того, что о ней нужно знать. Любой язык или технология увеличивает этот процент, но базовые технологии увеличивают его сразу на очень большую величину. 3d - это кстати, тоже один из векторов этого базиса, погодите, еще на вашей памяти будет новый C# для построения 3d-сцен.

  Ответить  
 
 автор: Кузнецов М.В.   (08.08.2011 в 22:28)   письмо автору
 
   для: Den*s   (08.08.2011 в 10:55)
 

Две своих копейки.

1. 3Д сейчас уже как-то не то. Причин много. Если выучите АрхиКад тот же - будет больше прока. 3Д, если кратко, это тот бизнес, куда сложно влезть, чтобы получать реальный доход. Там большие доходы. Но туда не своих не пускают. А то, что заказывают мелкие фирмы, это копейки за месяцы труда. Кроме того, 3Д нужно владеть классно. А не уровне поделок ученических (это я не про Вас, конечно, я Ваших работ не видел вообще, это я про ситуацию в общем). Если б Вы рисовали классные триД работы, я б первый Вас взял на работу. Но - там много подводных камней. Мы много работали с тридэшниками. И у каждого своя пята ахиллесова. Кто в простейшем трехлечне не разберется, кто вообще в анатомии не разбирается. А художнику тридэшнику, который рисует человеческие лица, нужно знать. Художников прошлого века этому обучали. Третий физику не знает на школьном уровне, и даже - не чтоб уж самому написать, - а просто качает в Инете не те библиотеки. Писаные такими же ламерами, как и он сам.

2. Классный дизайн очень всем нужен. Но классный. "Любовь-морковь" не прохиляет.

  Ответить  
 
 автор: Den*s   (09.08.2011 в 11:31)   письмо автору
 
   для: Кузнецов М.В.   (08.08.2011 в 22:28)
 

Спасибо за ответы

  Ответить  
 
 автор: Кузнецов М.В.   (10.08.2011 в 01:05)   письмо автору
 
   для: Den*s   (09.08.2011 в 11:31)
 

Спасибо за вопросы :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования