Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реально ли выучить Java почти не зная C++ ? 
V
    Опции темы
ПапаМишка
Дата 18.4.2006, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 30.10.2005
Где: Саратов

Репутация: нет
Всего: нет



Усё, спаиба, убедили!!!

Щаз буду рыться и искать книгу какую нить по JBuilder 2005 что ночью поставил smile)) 
PM ICQ   Вверх
ALKS
Дата 18.4.2006, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



угу... книгу ищи по Java а не по среде разарботки. JBuilder это плохой выбор потому что не безплатная, не лучшая, и относительно не распосранненная. И я полностью согласен с Tirael и Java и C++ это очень плохой выбор для обучения. Это профессиональные языки для промышленной разработки. Т.е. подразумеваеться чтo с ними работают профессионалы. Oба языка имеют массу совершенно не тривиального синтаксиса и не только связанного с ООП... 
PM   Вверх
garm
Дата 18.4.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 23.3.2006

Репутация: 2
Всего: 2



Цитата(ПапаМишка @  18.4.2006,  14:28 Найти цитируемый пост)
Усё, спаиба, убедили!!!

Ну вот и замечательно. Удачи тебе в деле освоения новых языков.
Цитата(ALKS @  18.4.2006,  18:35 Найти цитируемый пост)
Т.е. подразумеваеться чтo с ними работают профессионалы.

Так ведь профессионалами не рождаются - ими становятся. А непригодность этих языков для написания тривиального кода для тривиальных программ - что бы усвоить некие базовые понятия - вещь достаточно спорная.

Цитата(ALKS @  18.4.2006,  18:35 Найти цитируемый пост)
Oба языка имеют массу совершенно не тривиального синтаксиса и не только связанного с ООП...

С плюсами - согласен, а вот для Java хотелось бы пример такого синтаксиса.
Хотя даже в плюсах на начальном этапе его использование не обязательно. Скажем была такая книжка - С++(П. Франка) - как там написано, так это куда уж проще.
Моё мнение - с чего и начинать как не с этих языков? 
PM   Вверх
COVD
Дата 18.4.2006, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Использование всех изысков языка на любом этапе не обязательно. smile 
PM MAIL   Вверх
garm
Дата 18.4.2006, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 23.3.2006

Репутация: 2
Всего: 2



Цитата(COVD @  18.4.2006,  20:19 Найти цитируемый пост)
Использование всех изысков языка на любом этапе не обязательно.

Тоже правильная мысль.
Хотя обычно изыски делаются не просто так, а по делу, то есть использовать их всё таки придётся. 
PM   Вверх
COVD
Дата 18.4.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 17
Всего: 43



Ну, возможно придется изучить, чтобы получить сертификат. А вот использовать в работе, это уж как повезет. (90% пользователей используют только 10% возможностей и наоборот smile
PM MAIL   Вверх
Tirael
Дата 18.4.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 31.1.2006
Где: Москва

Репутация: нет
Всего: 7



Цитата(garm @  18.4.2006,  15:29 Найти цитируемый пост)
С плюсами - согласен, а вот для Java хотелось бы пример такого синтаксиса.

Пожалуйста !!!!
Код

void a(Collection<?> b) {
   for(Object c:b) {
      System.out.println(c);
   }
}

Лично я не сразу понял что код делает. 

Вот еще один замечательный пример Java кода 
Код

byte x=0;
x=x+1;


Вопрос ? Почему такой код не будет компилироваться ????  

Это сообщение отредактировал(а) Tirael - 18.4.2006, 17:13
--------------------
 
PM MAIL   Вверх
Бонифаций
Дата 18.4.2006, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 1
Всего: 40



Цитата(Tirael @  17.4.2006,  18:02 Найти цитируемый пост)
Недаром ведь в школе используют BASIC или PASCAL. 


цитата из Дейкстры : "Студенты, первоначально ориентированные на Бэйсик - умственно оболванены без надежды на исцеление" 


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
garm
Дата 18.4.2006, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 23.3.2006

Репутация: 2
Всего: 2



Цитата(Tirael @  18.4.2006,  21:13 Найти цитируемый пост)
Пожалуйста !!!!
Код
    
void a(Collection<?> b) {    
   for(Object c:b) {    
      System.out.println(c);    
   }    
}    

Лично я не сразу понял что код делает. 

Наверное распечатывает все элементы коллекции для коллекции с любым типом?
У меня всё ещё 1.4 java стоит, поэтому я с пятой не очень хорошо знаком. Соответственно когда пытаюсь придумать сложный java-синтаксис фичи 1.5 не рассматриваю. Тем не менее признаю, этим уже можно новичков пугать.

Цитата(Tirael @  18.4.2006,  21:13 Найти цитируемый пост)
Вот еще один замечательный пример Java кода 
Код

byte x=0;    
x=x+1;

Вопрос ? Почему такой код не будет компилироваться ????  

Где-то я уже такое видел, причём недавно.
Потому что после x+1 мы получим int?
Но синтаксис этого примера - тривиален.

Цитата(COVD @  18.4.2006,  20:49 Найти цитируемый пост)
Ну, возможно придется изучить, чтобы получить сертификат. А вот использовать в работе, это уж как повезет. (90% пользователей используют только 10% возможностей и наоборот ) 

Боюсь, что современные языки не настолько богатые, что бы позволить себе работать на десяти процентах. Поэтому, даже если выбросить все редкоиспользуемые выражения, там ещё много останется непростого-нужного. Взять хоть те же шаблоны: можно ли изучить базовые понятия без них? Можно. А можно ли без них успешно работать? Сомневаюсь.

Цитата(Бонифаций @  18.4.2006,  21:23 Найти цитируемый пост)
цитата из Дейкстры : "Студенты, первоначально ориентированные на Бэйсик - умственно оболванены без надежды на исцеление" 

  smile  Хотя хочется верить, что для них ещё не всё потеряно. 

Это сообщение отредактировал(а) garm - 18.4.2006, 17:41
PM   Вверх
ALKS
Дата 18.4.2006, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



Не очивидный синтаксис в Java? - да даже такая вещь как исключения обычно осваиваеться с трудом новичками. анонимные внутренние классы - мой любый пример не тривиального синтаксиса в Java. Assertions тоже народ въезжает далеко не сразу. Annotation в Java 5: я никогда не сталкивался с мета данными и честно признаюсь что не въехал в Annotation, понимание пришло когда стал рыться в исходниках JUnut4... а многопоточность? или сириализация с милийшими private методами которые можно перегружать, как вам?  
PM   Вверх
garm
Дата 18.4.2006, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 23.3.2006

Репутация: 2
Всего: 2



Цитата(ALKS @  18.4.2006,  21:45 Найти цитируемый пост)
Не очивидный синтаксис в Java? - да даже такая вещь как исключения обычно осваиваеться с трудом новичками. анонимные внутренние классы - мой любый пример не тривиального синтаксиса в Java. Assertions тоже народ въезжает далеко не сразу. Annotation в Java 5: я никогда не сталкивался с мета данными и честно признаюсь что не въехал в Annotation, понимание пришло когда стал рыться в исходниках JUnut4... а многопоточность? или сириализация с милийшими private методами которые можно перегружать, как вам?  

Что ж, возможно всё это действительно вызывает сложностей у начинающих java-программистов.
Только вот два вопроса:
1 Обязательно ли на начальном этапе всё это использовать?
На мой взляд сколько-нибудь важной вещью являются лишь исключения, всё остальное можно отложить до лучших времён.
2 Поможет ли владение тем же Бэйсиком во всём этом разобраться? 
PM   Вверх
ALKS
Дата 18.4.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 354
Регистрация: 22.3.2006

Репутация: 1
Всего: 11



ну... как правильно заметили можно, собственно, огромную программу уместить в одном методе main(). это путь? это программирование?

отвечая на вопрос - да. весь синтаксис нужно знать + нужно четко знать и понимать все что стоит за каждым методом класса java.lang.Object и для чего это нужно а это, кстати, огромный пласт. нужно четко ориентироватсья хотябы в основных пакетах стандартной библиотеке ака java.lang.*, java.util.*, java.io.*. это абсолютный минимум чтобы серьезно программировать на Java и это не мало. 

да знание BASIC поможет. если человек знает BASIC ему не нужно разбираться что такое присваивание (тяжелейшая тема, если вы не знали, один из самых трудных моментов при преподавании программирования детям в школе, дети въезжают с огромным трудом smile ). Собственно ИМХО: перед тем как браться за Java/C++ нужно уже уметь программировать хотябы в добротном процедурно-модульном стиле, хотя бы на Pascal. 

Это сообщение отредактировал(а) ALKS - 18.4.2006, 19:06
PM   Вверх
Stampede
Дата 18.4.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 24
Всего: 144



Да, или вот тоже простейшая вещь: конструктор копирования vs Cloneable. И не такая уж редкая ситуация, между прочим.

Но в целом я больше склонен согласиться с garm. Да, в Java есть свои тонкие моменты. Но это, так сказать, контролируемая сложность: можно учиться по нарастающей. Не всем же сразу приходится писать распределенный load balanser smile

А ПапаМишка хотел бы дать совет: не надо учить Java по книжкам. Это все равно что заниматься английским по Бонку: скучно, долго и с практически нулевым результатом. Гораздо эффективнее озадачить себя реальным проектом и уже в процессе использовать книжки - где как справочник, где как туториал, а где и как учебник.

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

Почему именно утилиту и именно консольную - потому что это будет больше всего в духе изучения C по Кернигану/Ритчи, что есть едва ли не самый эффективный подход: чистый синтаксис, минимум библиотек (коллекции, ввод/вывод) и быстрая отдача.

Предупреждаю, если свяжешься с гуем, моментально погрязнешь в непроходимых дебрях Swing'а. Они, конечно, проходимые, но только не для новичка.

То же самое с вебом: если никогда с этим не сталкивался, будешь как тот синьор Робинзон с завязанными глазами наступать на каждые грабли.

Так что берись за какую-нибудь задачу - и вперед. И можешь рассчитывать на помощь клуба smile
 
PM WWW   Вверх
garm
Дата 18.4.2006, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 23.3.2006

Репутация: 2
Всего: 2



Цитата(ALKS @  18.4.2006,  22:58 Найти цитируемый пост)
ну... как правильно заметили можно, собственно, огромную программу уместить в одном методе main(). это путь? это программирование?

Путь в тысячу ли начинается с первого шага.(с) Китайская пословица.
И зачем сразу писать огромную программу? Можно сначала маленькую. И - да, в методе main. Мне кажется, что бы научится работать с циклами, условиями, примитивными типами main хватит. Ну а потом уже можно и дальше двигаться - другие методы, другие классы, наследование, инкапсуляция, полиморфизм...

Цитата(ALKS @  18.4.2006,  22:58 Найти цитируемый пост)
отвечая на вопрос - да. весь синтаксис нужно знать + нужно четко знать и понимать все что стоит за каждым методом класса java.lang.Object и для чего это нужно а это, кстати, огромный пласт. нужно четко ориентироватсья хотябы в основных пакетах стандартной библиотеке ака java.lang.*, java.util.*, java.io.*. это абсолютный минимум чтобы серьезно программировать на Java и это не мало. 

Конечно нужно. Только сколько на бэйсике не программируй, знаний в этих вопросах не прибавится.
Возможно я не прав, но по-моему единственное, что может java-программист взять от бейсика - это знание о том что бывают переменные, бывают циклы, бывают условия. И как из всего этого можно собрать алгоритм. Как я сказал выше, все эти знания можно получить и в java, без особых проблемм.
Впрочем, я не специалист по Бейсику, если вдруг там есть какая нибудь библиотека, для работы со, скажем, многопоточностью, которая проще javной(хотя куда уж проще?) и с помощью которой новичок сможет узнать что это за зверь такой - многопоточное программирование. Если так и есть - можно меня просветить.

Цитата(ALKS @  18.4.2006,  22:58 Найти цитируемый пост)
да знание BASIC поможет. если человек знает BASIC ему не нужно разбираться что такое присваивание (тяжелейшая тема, если вы не знали, один из самых трудных моментов при преподавании программирования детям в школе, дети въезжают с огромным трудом  ). 

Я действительно не знаю, какие именно темы вызывают наибольшую сложность у школьников. Мне такие вещи давались легко и я наивно считаю что и у остальных людей всё должно получатся так же. Поскольку ну что здесь сложного - в присваивании?
Но пусть присваивание будет сложной темой. Чем в бейсике его легче изучать чем в java? И даст ли эта лёгкость настолько серьёзные преимущества, что бы смириться с потерей времени на переучивание с бейсика на java? 
PM   Вверх
Bozo
Дата 18.4.2006, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Цитата

Что требуется от начального языка программирования?

Легкость и быстрота в изучении. Ни Java, ни уж тем более С++ не обладают такими свойствами. Полиморфизм, инкапсуляция, наследование - поверьте, не самые лучшие темы для начинающего. А ведь, какой учебник ни возьми,  именно с них начинается знакомство с С++ и Java.
Недаром ведь в школе используют BASIC или PASCAL. 
Скачал 6-е издание учебника для ВУЗов http://www.deitel.com/books/jHTP6. Так первая глава посвящена истории компов, ОС, ЯП. Во второй главе уже программа использующая Scanner и выводящая в консоль сообщение. Рассказывается что такое присваивание. В третьей уже показывается как создать два класса и из одного вызывать методы другого. Заметьте, никаких циклов и прочей алгоритмической мути. Так что не только можно но нужно начинать изучение с Java и не забивать голову васиками с дельфами. 
PM   Вверх
Страницы: (4) Все 1 [2] 3 4 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0882 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.