![]() |
Что лучше начать изучать?
Доброе время суток. У меня очень важный и интересный вопрос. Для начала маленькое вступление. Учусь я на программиста (пока что в средне образовательном учреждение - техникум(моднее сказать каледж)). Знаю Pascal и следовательно Delphi. С математикой проблем нету.
И я решил изучить самостоятельно язык высшего ну или не такого высшего уровня. Остановился я на выборе C#, JAVA или C++. Зная C++ я легче изучу С# и JAVA. Но изучив сначала или C# или JAVA я легче пойму сложный язык С++. Вот такая дилема. Я собираюсь после техникума брать вышку и работать по специальности. И есть интерес пощупать языки. Так как понравилась лекция на счет Кармака (создатель idTech 1-5, великий и ужасный двигатель всего и вся в движках). В лекции излагалось, что любой специалист который знает хотя бы 1 язык программирования в совершенстве или на среднем уровне, может написать свой движок. На паскале был опыт написать свой кустарный вольфенштейн - и он получился, я сделал уровень из 2х коробок соединенных коридором. На стенах и на полу были текстурки, а персонаж мог ходить. Дальше я не стал мучать себя и прекратил, так как смысл был в том чтобы написать на паскале свой 2,5 мерный движок. На делфи есть опыт делать БД, утилитки аля "Спаси студента, реши программно" и так далее. Я думаю вы мне поможете выбрать язык. Так же посоветуйте литературу, не такую где применяется сложная терминология, что автор сам не понял что написал. А самоучитель где есть алгоритм 1) теория => 2) Пример => 3) Сделать самому. (я такие книги видел по PHP и Delphi). |
Ответ: Что лучше начать изучать?
Лично мой пример - я с простенького Blitz Basic сразу решил скакнуть на C++, но прыгнуть выше головы нельзя. Получилось только с пятой или шестой попытки, да и то плохо. C# лично для меня как то проще оказался. Плюс, если хочется писать игры - то для C# полно всяких бесплатных (и не очень бесплатных) движков (тот же Unity3d, я сам на него недавно перешёл). Книгами не пользовался (по С++ была книга "С++ без страха", но она бред).
|
Ответ: Что лучше начать изучать?
хочешь писать игру на готовом движке - бери шарп
хочешь писать движок - бери плюсы хочешь писать кроссплатформенный софт для устройств - бери яву про литературу по плюсам: http://forum.boolean.name/showthread.php?t=17370 по шарпу хз. он очень простой язык. но объемный. под плюсы движков больше на порядок. но и под шарп любители делают врапперы |
Ответ: Что лучше начать изучать?
Маленький апдейт. Сейчас поговорил с приятелем, который работает в конторке одной. Сказал чтобы сначала изучил Шарп, а потом C++. Аргументировал тем, что поняв шарп, можно легко изучить С++. А также зная Шарп и С++ можно получить работу, если есть вакансия на Java программиста заберут, ибо Java это тот же Шарп. Сейчас ищу литературу по Шарпу.
И кстати я спросил про языки не потому что я хочу писать много игор с отличным графоном и плохой механикой аля Боец Спецназа миссия глаз ястреба. Нет это мой будущий хлеб. А про кросс платформеность явы я бы тихо промолчал. Так как мне известно что некоторый софт написанный на яве плохо работает на линуксе или вообще не работает. Но мне кажется это потому что автор данного софта затачивал его под шиндовс. |
Ответ: Что лучше начать изучать?
Разные языки имеют разные абстракции мышления.
Например в C++ разработчик должен знать как работает память на низком уровне, и нужно иметь больше "успешных" способностей архитектуринга. На C# например проще, т.к. он полностью OOP, и не требует заботы например о памяти, хотя также имеет сложные абстракции и весьма мощный и как HolyDel сказал "объёмный", но скорее не язык, а .Net. Т.к. язык по себе имеет фичи, и они менее богаты чем в С++, что делает C# более стабильным, но за счёт богатства и мощности .Net - этот вариант становиться хорошим выбором. Java же очень схожа с C# .Net, но я работая на обоих предпочитаю C#, т.к. IDE во много удобнее, больше консистенции в .Net и лучше документации. Хотя на обоих можно решить почти одинаковые задачи практически одинокого с мелкими различиями на низком уровне. Но работая с разными программистами, понимаешь что ценность в программисте не в его знании языка, а в мышлении как программист. А это сложная система набора способностей по разным дисциплинам. Способность мыслить и моделировать системы, алгоритмы, аналитически - это очень важно. Этому классическая система образования не совсем способствует, т.к. "правильного" пути в этой области нету, тут главное здравый смысл и широкие взгляды учитывая кучу тонкостей и деталей. Аналитическое прогнозирование - это тоже одна из областей, котороая must-have для любого разработчика который имеет право решения выступает на весьма высоком посту. Тут очень важен опыт, и осведомлённость в разных технологиях и как они взаимосвязаны. Мыслить нужно не языком, а набором технологий. Многие не имеют способности хотя бы предположить как что-то может быть сделано или например какие ресурсы веб система с определённой нагрузкой будет требовать. И самое главное - желание. Тут мотивировать себя - это ключ, без этого далеко не уйдёшь. Нужно не только мотивировать себя писать код, но и развиваться, т.к. разработчик - это постоянно развивающаяся сущность, который должен учиться постоянно и двигаться вперёд прогрессу. Иначе может произойти такая ситуация что если выбираешь актуальную технологию сегодня, вкладываешь года на специализацию в ней, а затем другие новички с лучшей технологие получают твоё место работы, и ты уже не нужен, не смотря на то какой ты специалист в уже устаревшей технологии. Просто работать программистом - такого не бывает. Есть разные направления, но это сложно выбрать направление пока учишься или даже порой когда заканчиваешь учиться, пока не начнёшь работу и не сменишь пару мест. Изучай технологии, что происходит, что актуально, и занимайся прототипированием. Ну и по себе: Алкоголь - враг концентрации и фокусу. Наркотики - враг мотивации. Потусить - бездна траты единственного ресурса: Время. Больше мысли самостоятельно, чем по книгам или наводкам учителей. К сожалению наша система это не поощряет, и порой наказывает за "произвол", но твой собственный путь и ошибки имеют в десятки больше пользы чем следования чьих-то, не столь очевидных в деталях тебе. Но не зацикливайся и не уходи в чрезмерное погружение. ИМХО. |
Ответ: Что лучше начать изучать?
Цитата:
думал абсолютно так же, но могу по себе теперь сказать, что невозможно просто сидеть за компом и пилить - ты продолжаешь тратить время, у тебя есть конечная цель, и ты может даже знаешь как её достигнуть - но слишком долгий "кранч" приводит к снижению продуктивности, как ни крути, даже если мотивация была железной поначалу, и казалось бы должна такой же оставаться. Если вкраплять в своё время различные прогулки, посещения каких-то мест, как минимум просто посмотреть кино - это встряска для рассудка, смена мыслей, для меня это действует как вода, капающая на водяную мельницу. Если нет нового контета, то даже задача, не касающаяся его начинает тормозиться. Может под "потусить" ты другое имел в виду, но я просто к тому, что нужен баланс. соглашусь с постом HolyDel'а, на шарпе менее запарно писать, чем на плюсах, но если ты угорел по производительности, то плюсы тебе помогут (шарп юзал после плюсов, до сих пор в нем возмущает как это я вызываю new, а delete он делает когда вздумается? :-D) |
Ответ: Что лучше начать изучать?
Цитата:
Цитата:
|
Ответ: Что лучше начать изучать?
Цитата:
Советовал бы взять шарп и юнити. Изучать язык и делать движок не так уж и просто. |
Ответ: Что лучше начать изучать?
Объясните что такое юнити. Я слышал на нем делают слендеры для разных летс плееров несчастных. Другие говорили что это движок со своим СДК, где есть драг енд дроп система. А третьи говорят что он поддерживает директикс и на нем можно делать серьезные проекты.
Gector, я изучать буду язык, а не делать движок. Тем более чтобы делать движок нужно знать OpenGL или DirectX. А там глубже математика графики, а еще глубже физика. Или можно взять дофига фри движков физики, графики и звука, сделать под все это ядро и добавить блюра - ВОТ ОНА ИДЕЯ ВСЕХ ИГРОДЕЛОВ ПОЛЬШИ И РОИСИ. Хотя в Роиси есть нормальные игроделы (Сталкеры и Блицкриг), их мало, но они есть. Мало потому что некоторые уходят на другие специальности. У нас довольно таки мало контор по разработке игр. Если энтузиасты, есть студенты с кучей времени, есть школьники у которых есть под рукой Game Maker и старый фотошоп (видел пару инди игр от таких - хорошо получились). Сегодня пойду за книгой по шарпу, думаю освою его за месяц с небольшим. |
Ответ: Что лучше начать изучать?
Цитата:
C++ дает доступ к низкому уровню. Java/.NET низкий уровень от программиста скрывают. Так что ни одно не поможет другому как ты надеешся. Они разные идеологически. Хитрый хинт: вместо убивания тысяч лет на изучение С++ можешь изучить С за 2 недели. Точно такой же доступ к низкому уровню, а то и лучше. А для высокого уровня Java/.NET на выбор. |
Ответ: Что лучше начать изучать?
Юнити - кошерный мультиплатформенный двиг, который, как ни странно, далеко не каждый осваивает дальше слендеров.
Если нет желания делать игру то тут уже от целей зависит. С чем хочешь работать - БД, моделирование, разработка приложений для устройств и т.д. |
Ответ: Что лучше начать изучать?
http://bookvoed.ru/item822061.html - купил книженцию сейчас буду вникать
|
Ответ: Что лучше начать изучать?
Справка же на русском...
http://msdn.microsoft.com/ru-ru/library/kx37x362.aspx |
Ответ: Что лучше начать изучать?
NyanMeow
Смотря какие направления тебе действительно интересны, в 2005-2012 в геймдеве был модный тренд "а железо потянет", в 2013 побуду вангой и скажу что тренд "железо-ориентированные оптимизации - превыше всего" перейдет из highload saas (paas) решений в геймдев тоже, хотя на свете есть индустрия где скорость исполнения кода на прямую контролирует с количеством зарабатываемого бабла (а оно там больше 6 значных сумм вечно зелёных в день) - высокочастотные трейдеры. Всякие гуи-ориентированные приложения и бизнес-логика на ура пишутся с использованием .NET, возможно даже с помощью java (но она уныла имхо), но как только тебе нужно гарантировать время выполнения то весь стек идет задницей и на поле выходит C на пару C++ (nginx, mongrel2, mongodb и куча остального highload), C как язык простой как бревно, проще не бывает, но он требует от программиста глубоких знаний в железе (хотя бы про кеш линейки, виртуальную память и предсказатель ветвлений). С помощью C можно запрограммировать вещи любой сложности и любой производительности (например ядро linux), время на изучения языка - около 2-3 месяцев, еще 1-3 года чисто набираться опыта на проектах. С++ это всё тот же C, не стоит его воспринимать по другому, только C++ это такой язык на котором ты можешь выразить любую существующую парадигму программирования :crazy:, на самом-то деле удобно думать о C++ как синтаксическом сахаре над C (хоть оно не всегда так), те код на C++ можно транслировать в код на C. Из-за того что C++ это сверх универсальный язык на котором возможно всё (даже yield господа, даже yield), то время его изучения включает в себя изучения вообще всего что индустрия вычислительной техники родила за последние 50 лет, отсюда и время полного изучения C++ вытекает в лет 5-10, возможно даже больше, ведь он применяется совершенно в разнообразных сферах. Хотя со знанием C ты сможешь писать ООП-подобный код через пару недель, а после паттернов будет совсем ООП, проблема только в том что до KISS стиля нужно дойти самому, а это от 1 года опыта с паттернами. Так что резюмируя : если хочешь писать в резюме "умею программировать всё что можно запрограммировать", то смело забивай и учи C и потом C++ (или сразу C++), а если хочешь жить в определённой сфере то просто учи то что используется в этой сфере, зачастую это не только язык, а еще стек всяких фреймфорков-технологий-методологий-подходов. |
Ответ: Что лучше начать изучать?
Цитата:
|
Часовой пояс GMT +4, время: 04:28. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot