Сейчас попробую сделать короткий список неплохой литературы (извините, если кого-то повторю ):
1. Брюс Эккель - "Философия Java"
2. Роберт Седжвик, Кевин Уэйн - Algorithms / Алгоритмы на Java
3. К. Сьерра, Б. Бейтс - Изучаем Java (Мировой компьтерный бестселлер)(2012).
4. Хорстманн К., Корнелл Г. - Java 2. Основы (Библиотека профессионала)(2 тома)
5. Ноутон П., Шилдт Г. - Java. Наиболее полное руководство.
Также неплохим приложением будут книги:
1. Мартин Р. - Чистый код. Создание, анализ и рефакторинг.
2. Гудлиф Питер - Ремесло программиста. Практика написания хорошего кода.
3. Фримен Эр., Фримен Эл., Бейтс Б., Сьерра К. - Паттерны проектирования.
Следует отметить что основным источником также является документация Oracle, которую можно найти на их официальном сайте (http://docs.oracle.com/javase/).
Еще к неплохим веб-ресурсам, которые могут оказать огромную помощь при изучении java, можно добавить:
http://stackoverflow.com/ - форум, где можно найти ответы на интересующие тебя вопросы из области программирования (в том числе и Java).
http://kharkovitcourses.blogspot.com/p/java-core-course.html - вроде норм курсы (канал youtube - http://www.youtube.com/channel/UCuIctN7x71qam9K_ZxS1W2A )
Также можно искать курсы по Java здесь:
http://www.intuit.ru
http://hexlet.org
Желательно также вначале ознакомится с Java Code Conventions, которые можно найти на сайте Oracle.
Cпасибо за внимание и успехов в изучении Java.
Самое лучшее - это взять боевую задачу, хоть и свою, и реализовать ее ОТ и ДО. Тоесть не просто забить на нее на этапе - работает и отлично, а создать документацию, может даже оформить страничку проекта, собрать какое то сообщество, а главное сделать проект open source.
Это в целом даст маленький опыт создания и запуска завершенного продукта.
Найти человека уровня выше чем ваш, который бы помогал и подсказывал как и куда двигаться дальше. Это позволит вам обойти N-ое количество проблем (+потраченного времени в пустую) и значительно ускорит получение опыта. Не зная ваш текущий опыт и знания трудно что либо подсказать по существу. Вы даже не написали какой язык используете.
Ну вы уж определитесь, что вы хотите, C, С++, C#, это 3 разных языка программирования, если C++ поддерживает библиотеки C, то C# это совсем другой язык программирования, C++/Cli в данном случае так же другой язык, который не имеет ничего общего с C# и позволяет генерировать управляемый код в C++.
Вообще я когда-то поставил Visual C++ 6.0, открыл сайт http://firststeps.ru и понеслось. Начал с туториалов, потом начал читать книги по C++. Страуструпа, Элджера, потом и до Александреску добрался.
А Керниган это C.
Ставьте Visual Studio 2013 Express и не мучайтесь (если под Win). К C++ Builder лучше вообще не прикасайтесь. CodeLite вообще IDE, а не компилятор. Предыдущие 2 идут со своими компиляторами. Ну и создавайте проекты консольных приложений.