Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Java как первый язык программирования |
Автор: ПапаМишка 4.11.2005, 18:47 |
Вот у меня вопрос: на данный момент я не программист, хотя и работаю в сфере компьютеров. Мой уровень программирования НОЛЬ сейчас, последние несколько дней я анализировал разную информацию, и решил что Java язык выучить для меня сейчас наиболее целесообразно. Только вот вопрос. Я не знаю о сложности этого языка ничего. Поскажите, реально ли выучить этот язык, не имея опыта в программировании, или подскажете начать с какого либо языка более простого ? а то я всю голову изломал ![]() |
Автор: val 4.11.2005, 18:57 |
Реально на все 100, особенно если имеется техническое образование. Но для начала запаситесь литературой, настоятельно рекомендую: Брюс Эккель "Философия Java" П. Ноутон, Г. Шилдт "Java 2" |
Автор: ПапаМишка 4.11.2005, 19:14 | ||
СПАСИБО огромное, техническое образование имееться, В/О с красной корочкой, от которой правда толку никакого. А сейчас в FAQ прочитал что язык сложен для обучения очень из за обширных библиотек ![]() |
Автор: batigoal 4.11.2005, 20:24 | ||
Язык - несложен. А вот API, действительно, обширен, даже если брать только стандартные классы. Но это все приходит довольно быстро. Хинт: на Западе именно Java является базовым языком обучения программированию. У нас - пока нет, но тенденция прослеживается. |
Автор: chief39 4.11.2005, 20:42 | ||||
Есть разница: выучить английский и знать наизусть произведения всех англоязычных авторов ![]() ![]() А то что запугивают.... "На заборе ..й написано, а постучишь - дерево" ![]()
Ничего страшного нет. Желательно почитать ещё по архитектуре компов. Чтоб понимать как происходит взаимодействие процессора, памяти, дисковых накопителей и проч. Чтоб не путать своп с кэшем ![]() А java - язык довольно простой и красивый. Ибо создавался с нуля с использованием наработок прежних языков и учётом ошибок их создателей. Главное понять суть объектно-ориентированного программирования и базовые принципы и конструкции JAVA. Дальше - как по маслу. А всего знать всё равно нельзя ![]() Так что смело за дело! ------------------------------------------------------------------------------------------------------------- "Не бойтесь браться за неизвестное, помните: Ковчег строил любитель, профессионалы стоили Титаник" P.S. Тем более форум-то под рукой ;) |
Автор: Stampede 4.11.2005, 20:59 | ||
Ответ очень сильно зависит от того, какие цели вы перед собой ставите. Я тут проглядел ваш топик "Стать программистом в 27 лет", но там цели все равно расплывчатые. Я понимаю, это не ваша вина: пратически невозможно точно сформулировать, чего именно ты хочешь добиться в вопросе, о котором имеешь лишь самое общее представление. Поэтому я сейчас попытаюсь ответить на ваш вопрос именно с этих позиций - естественно, в меру исключительно своего субъективного восприятия. Самое главное, что вас интересует, это, конечно, когда вы сможете начать зарабатывать деньги своим программизмом, и, разумеется, в каких размерах. Самый реальный сценарий представляется примерно так: должность программиста в какой-нибудь конторе советского типа, типа там на трикотажной фабрике или в тресте коммунального хозяйства, в маленьком отделе автоматизации с коллективом из нескольких не самых продвинутых спецов. Хозяйство - складские задачи, бухучет, мелкие самописные программы. Все это надо будет в меру сил поддерживать и по возможности развивать. Инструментарий - чаще всего полный зоопарк: FoxPro, Access, C, VB, Delphi - в общем, может оказаться все что угодно. Это не самый завидный сценарий, но, похоже, самый быстрый из реальных. Если это устраивает, я бы стал учить в первую очередь Access и VB. Плюс в том, что, обеспечив тылы, можно уже смелее втыкать в более продвинутые технологии, занимаясь саморазвитием в рабочее время и на рабочем месте - тем самым одновременно помогая конторе и повышая свой профессиональный уровень. Другая полезная сторона такой стратегии - в том, что при этом достаточно рано соприкоснешься со спецификой практического программирования и сопровождения: отношения с заказчиком, с юзерами, технические вопросы, работа сети, серверов и пр. - вещи, о которые на курсах тебе вряд ли расскажут. Можно рассмотреть и другой сценарий: когда целью изначально ставится попадание в коллектив профессиональных разработчиков, с современными технологиями, хорошей зарплатой, бесплатным кофе в кофеварке и пр. В этом случае надо сразу для себя решить: или это будет Java, или .Net. Третьего не дано (на самом деле есть еще сфера графики/мультимедиа/игр - там понадобится C/C++, но это в нашей ситуации неправдоподобный сценарий). Так вот, выбирая между Java и .Net. Скажу сразу, про .Net практически ничего не знаю, кроме того, что это платформа Microsoft. Для меня, однако, этого достаточно, чтобы сразу поставить на ней крест из соображений личной брезгливости. Но я допускаю, что не все в этом вопросе такие щепетильные, так что решать вам. Думаю, среда .Net должна быть проще и дружественнее для изучения и разработки. В любом случае, Java как первый язык программирования никому бы не посоветовал: там за деревьями легко потерять лес. Самым идеальным, на мой взгляд, было бы начать с языка C. Это заложило бы базу и понимание принципов работы программ на всю оставшуюся жизнь. Но в ситуации, когда сильно хочется кушать, это может быть не самой подходящей стратегией. Вот такие вот мои пять копеек ![]() |
Автор: allex 5.11.2005, 00:30 |
Stampede Была необходимость покопаться с .NET после Java. Жутко плевался. Информации меньше, организована она хуже, как язык C# сложнее Java. C сложнее Java - надо больше понимать про указатели, работу с памятью. Дебажить сложнее. По-моему, из "взрослых" языков Java - самая приятная для изучения. Только не надо сразу с последней версией разбираться, где generics etc. |
Автор: Ch0bits 5.11.2005, 00:53 |
ПапаМишка В добрый путь! |
Автор: Souljah 5.11.2005, 16:02 |
разве в c# есть указатели? новость! |
Автор: vzf 5.11.2005, 16:08 | ||
Начинать с JAVA неплохо: сам язык, его синтаксис, пожалуй, один из самых легких для изученя (по крайней мере легче С++ и не сложнее C#). К тому же знание JAVA откырвает неплохие перспективы.
Согласен на 100% С - всему голова ![]() |
Автор: tux 5.11.2005, 17:03 | ||
Тогда и мои 5 копеек ![]()
Насчет заложенной базы полностью согласен. Только у меня возникает такой вопрос - а нужно ли понимание этих принципов прикладному программисту, коими являются 90%? Положим я их знаю, но не уверен, что мне это сильно помогает в программировании на Java. Если занимаешься системным программированием или вещами, близкими к системным, такие знания несомненно нужны. Да и писать тогда придется скорее всего как раз на C. А написать прикладную систему учета товаров можно и без них. Еще одно замечание. Поставьте себя на место человека, который ни разу программированием не занимался. Что ему будет проще - изучить процедурный C или объектно-ориентированную Java, где он будет оперировать с объектами, их свойствами и поведением? Я не знаю точного ответа на этот вопрос. Однако, ближе все-таки ко второму. Объектно-ориентированные языки программирования ближе к обычной мыслительной деятельности человека, имхо будет проще описать множество классов, соответствующих предметной области программы, чем переводить эти термины в язык, близкий машинному. Замечание насчет большого API верно, но ведь не обязательно изучать все сразу. Постепенно, по мере необходимости. К конце концов, обширность стандартной библиотеки Java - это не недостаток, а достоинство. Подмножество, которое примерно соответствует стандартной библиотеке того же C, изучить можно не менее быстро. |
Автор: batigoal 5.11.2005, 17:04 | ||
Речь шла о С. |
Автор: allex 6.11.2005, 11:48 |
Souljah Я действительно про С говорил, а не про C#, но и в C# есть указатели. Если это новость - почитайте про unsafe код. ![]() Есть два пути изучения - начать с общего случая, тогда все более частные автоматически получатся. Либо наоборот - идти от простого к сложному, на каждом этапе имея реальные знания, которые уже можно применять. Так вот С++, на мой взгляд - тот самый общий случай. Имеет ли смысл сразу начинать с него - я лично сомневаюсь. |
Автор: maxim1000 6.11.2005, 13:46 |
читал как-то статью Джоела Спольски там было такое соображение на данный этапе развития можно просто начать изучение просто с какого-либо высокоуровневого языка и не беспокоиться о том, как это реально работает это прокатит в 99% случаев, но найдется такой 1%, когда отсутствие этих знаний тормознет работу из этого был сделан такой вывод: действительно классный программист должен изучать все уровни программирования: от ассемблера (+какое-то понимние устройства процессора, конечно же) до того, на котором он программирует не то, чтобы быть в них мастером, но хотя бы ориентироваться... однако, опять же вопрос, стоит ли оно того (потому как времени затратить придется много)... |
Автор: chief39 6.11.2005, 17:50 |
Кстати, в какой-то книжке по ООП(хоть убейте не помню чья) было сказано: "Если вы бывалый программист со знанием процедурных языков, вам поначалу будет трудновато думать стиле ООП" - не совсем согласен с этим, но что-то тут есть ![]() Мы же не изучаем счётную машинку Паскаля или архитектуру первой ЭВМ 40-х годов ![]() Неплохо бы знать всё, но почему бы не начать с новейших разработок? ![]() В общем, в добрый путь! ![]() |
Автор: Zandr 17.11.2005, 14:52 |
Джоэль Спольски рулит. Кстати вот по теме: http://russian.joelonsoftware.com/Articles/BacktoBasics.html На счет API у него тоже где-то было. |