LINUX.ORG.RU

Нормальная ли система обучения?

 ,


1

4

Я немного знаю C++ (что такое класы, абстракция, инкапсуляция, массивы понимаю). Будет-ли нормально если я с этими небольшими знаниями начну изучать Qt, а потом уже потихоньку читать Бьерна Страуструпа, Лафоре, и т.д?

Ответ на: комментарий от anonymous

Вопрос на миллион: где им занимаются, и как туда попасть?

Идиотский вопрос.

Вопрос офигенный и основной. На каждого новичка, решившего стать программистом, изрыгается мощный поток лживой быдлоинформации. И первое, что нужно сделать, не нырять сразу с головой в это болото («я уже выбрал C++ и баста»), а попытаться выяснить, кто есть кто. Иначе спустя несколько лет новоиспеченному «C++-специалисту» ничего больше и не останется, кроме как гуйни да энтерпрайза.

anonymous
()
Ответ на: комментарий от unlog1c

Ссылка полезна только для антропологов. На предмет подивиться, какими дебилами земля полнится. А в плане программирования там кроме чуши нет вообще ничего.

anonymous
()
Ответ на: комментарий от anonymous

И первое, что нужно сделать, не нырять сразу с головой в это болото («я уже выбрал C++ и баста»), а попытаться выяснить, кто есть кто. Иначе спустя несколько лет новоиспеченному «C++-специалисту» ничего больше и не останется, кроме как гуйни да энтерпрайза.

Энтерпрайз тоже разный бывает. Я в этом самом энтерпрайзе ковыряю llvm и clang, использую все возможности boost, легко перешел на c++11. Никакой гуйней вообще никогда не занимался. Что такое CRUD узнал лишь недавно, и то, из разговора с коллегами.

Так что мест, где можно заниматься настоящим программированием, на самом деле полно.

anonymous
()
Ответ на: комментарий от VadimAlexeev

php, basic, но меня они мне не понравились

Ну это ещё хоть как-то понятно.

пытался программировать на java

Но вот тут уже интереснее. Мне действительно интересно чем так кресты понравились больше жабы, чем зацепили?

mix_mix ★★★★★
()
Ответ на: комментарий от anonymous

О чем я и говорил... Хотя я не лучше, а даже хуже.

VadimAlexeev
() автор топика
Ответ на: комментарий от mix_mix

ИМХО Жаба медленная, и для системного программирования не очень. Я всю жизнь не хочу приложения на андроид делать

VadimAlexeev
() автор топика
Ответ на: комментарий от VadimAlexeev

Чем она плоха? Я читал Штилда " c++ для начинающих", по моему и Бьерна уже почитать можно.

Если собираетесь заниматься этим на уровне чуть выше «для себя», то бросайте эту фигню. Вам нужно читать книгу по алгоритмам Кормена, вам нужно читать SICP, нужно читать HTDP, ну и так далее по списку.

mix_mix ★★★★★
()
Ответ на: комментарий от VadimAlexeev

Жаба не медленная уже давно.

Проблема с жабой в другом - она не гибкая. Это анальный язык, из серии bondage&discipline. Сам язык туп, как пробка, и жестоко наказывает любые отступления от «кошерных» подходов. Но знать Жабу полезно, в любом случае. Это как минимум дает доступ к громадному пулу библиотек на все случаи жизни, да и понимать квадратно-гнездовой стиль мышления типичных жаба-программистов полезно, дабы самому не скатываться в это болото.

anonymous
()
Ответ на: комментарий от VadimAlexeev

ИМХО Жаба медленная, и для системного программирования не очень.

Меня в данный момент системное программирование не очень интересует.

Вы уж определитесь чего хотите.

mix_mix ★★★★★
()
Ответ на: комментарий от VadimAlexeev

ИМХО Жаба медленная

Как по такому поводу вообще может быть имхо? Ты может бенчмарки проводил? Писал и на том, и на том? Знаешь более-менее устройство работы одного и другого? Если нет, то такое имхо яйца выеденного не стоит.

и для системного программирования не очень

Так тебе системное программирование, или гуйню рисовать?

unlog1c ★★★
()
Ответ на: комментарий от anonymous

И первое, что нужно сделать, не нырять сразу с головой в это болото («я уже выбрал C++ и баста»), а попытаться выяснить, кто есть кто. Иначе спустя несколько лет новоиспеченному «C++-специалисту» ничего больше и не останется, кроме как гуйни да энтерпрайза.

Полностью согласен.

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

Вам нужно читать книгу по алгоритмам Кормена, вам нужно читать SICP, нужно читать HTDP, ну и так далее по списку.

ТС, не слушай дураков. Вот уж чего тебе точно даром не надо, так это всяких шхемок с лишпиками.

anonymous
()
Ответ на: комментарий от VadimAlexeev

1-2 года как минимум, а лучше вообще навсегда. Дизайн GUI - это вообще другая профессия, практически никак не связанная с программированием.

Кстати, еще одна вещь, которую очень полезно выучить каждому, кто хочет быть хорошим программистом: Verilog или VHDL. После того, как сам разработаешь свой простенький процессор, или даже целую SoC, будешь полностью понимать, как и почему все работает.

anonymous
()
Ответ на: комментарий от VadimAlexeev

А разве нельзя знать и то, и то?

Можно. Вернее, даже нужно.
Всё, я понял. Я понял чего вы хотите. Это самая распространённая ошибка новичков (ну и старпёров). Так вот, вынужден разочаровать: универсальных языков не существует. На плюсах можно делать гуй, на плюсах можно писать низкоуровневые штуки, можно городить многоуровневые системы с кучей абстракций, но для всего кресты подходят одинакого плохо. Я не знаю кто вас надоумил, что это-де серебрянная пуля, так это ложь.

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

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

На плюсах так же можно легко делать компиляторы и интерпретаторы более других языков, буде таковые потребуются. А еще в плюсы шикарно интегрируется Lua, а потом код на плюсах отлично оборачивается скриптовым клеем из Python-а. Но при этом именно плюсы заслуживают того, чтобы быть центральной и самой важной частью этой экосистемы.

anonymous
()
Ответ на: комментарий от anonymous

Ладно, вы меня можно сказать образумили. Qt в топку надолго. Хоть тему переименовывай, в «GUi vs system programming».

VadimAlexeev
() автор топика
Ответ на: комментарий от VadimAlexeev

Один-два скриптовых языка - обязательно. Ассемблер - полезно. Verilog или VHDL - желательно. Последние, кстати, еще и помогут мозги правильно вывернуть, чтобы научиться мыслить параллельно, и писать качественный параллельный код на том же C++.

anonymous
()
Ответ на: комментарий от anonymous

ТС, не слушай дураков.

Ага, становись очередным недоучкой. Я всё же советую ОПу хоть немного придерживаться следующего плана:

Functional programming
Design and analysis of algorithms
Imperative programming
Digital systems
Calculus, linear algebra and probability
Discrete mathematics, logic and proof
Probability

Object-oriented programming
Concurrency
Models of computation
Computer architecture
Computer graphics
Compilers
Concurrent programming
Advanced data structures and algorithms
Formal program design
Databases
Computer networks

Computer security
Machine learning
Computer-aided formal verification
Geometric modelling
Intelligent systems
Lambda calculus and types
Computational complexity
Knowledge representation and reasoning
Reasoning about information update

Categories, proofs and processes
Computational linguistics
Computer animation
Probabilistic model checking
Probability and computing
Program analysis
Automata, logic and games
Database systems implementation
Information retrieval
Software verification
Theory of data and knowledge bases

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

Хм, интересно. Жду отзывов других об этом плане.

VadimAlexeev
() автор топика
Ответ на: комментарий от VadimAlexeev

Тогда какие еще плюшки нужно знать для системного программирования?

Архитектура компьютера (какой-нибудь Гук), архитектура ОС (Таненбаум), языки ассемблера, всё те же алгоритмы (Кормен, Кнут). Без этого никуда.

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

Ну до Кнута еще оочень далеко. Я его открывал...

VadimAlexeev
() автор топика
Ответ на: комментарий от anonymous

Насчет Совершенного Кода. А когда его не рано читать? Когда будет тот момент, когда его можно прочитать? Уж очень мне понравилась она.

VadimAlexeev
() автор топика
Ответ на: комментарий от VadimAlexeev

Лучше всего учить C, асм и какой либо HDL параллельно. Так лучше поймешь, что там к чему.

anonymous
()
Ответ на: комментарий от anonymous

Кормен - годный. Кнут - негодный

Кнут тоже годный, но необязательный, это да.

mix_mix ★★★★★
()
Ответ на: комментарий от anonymous

Ну тогда начну с K&R. Тем более 1 глава уже пройдена была.

VadimAlexeev
() автор топика
Ответ на: комментарий от mix_mix

Большая часть - бесполезное говно. Оставлю только нужное:

Imperative programming
Digital systems
Probability

Object-oriented programming
Computer architecture
Computer graphics
Compilers
Concurrent programming
Databases
Computer networks

Computational complexity

Automata, logic and games
Database systems implementation
anonymous
()
Ответ на: комментарий от anonymous

Ага, вот только тебя забыли спросить. Выкинуть «Design and analysis of algorithms», «Discrete mathematics, logic and proof» и я уже не говорю про какое-нибудь «Machine learning» — это каким же идиотом надо быть?

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

Machine learning вообще крайне узкоспециализированная область, большинству там ловить нечего. Design and analysis of algorithms большинству тоже не надо, достаточно готовой книги рецептов вроде Кормена. Из дискретки реально очень мало что нужно (теория языков, самые основы логики).

ТС же программистом хочет быть, а не бесполезным задротом. Человек, набивший себе в кочан все то, что ты там понаписал, пользы обществу уже не принесет, я это гарантирую.

anonymous
()
Ответ на: комментарий от VadimAlexeev

Задротов с матаном и функциональщиной не слушай.

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

anonymous
()
Ответ на: комментарий от anonymous

Собственно функциональное программирование мне не по душе. Похоже на решение примеров по математике... Тогда какая парагдима лучше?

VadimAlexeev
() автор топика
Ответ на: комментарий от anonymous

ТС же программистом хочет быть, а не бесполезным задротом.
Задротов с матаном и функциональщиной не слушай.

Oh dear lord, куда катится мир. Невежды-недоучки из всех щелей полезли. Мда, я начинаю понимать чувства Луговского, ничего не меняется, лол.

mix_mix ★★★★★
()
Ответ на: комментарий от VadimAlexeev

Ну до Кнута еще оочень далеко. Я его открывал...
Похоже на решение примеров по математике...

Убей себя. Пожалуйста.

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

Какие ты крупные программы написал и на каких языках?

Невежды-недоучки

anonymous выше правильно написал про понтующихся «не недоучках», которые задрачили матан, лисп, хачкель, и т.д., но ни одной программы в жизни не написавшие.

anonymous
()

Во-во anonymous и mix_mix ничего не говорите, покажите мне код. А лучше свои проекты, ибо код я врятли пойму.

VadimAlexeev
() автор топика
Ответ на: комментарий от VadimAlexeev

Кого слушать? Я уже запутался.

А толку слушать, если ты так и не сказал, зачем тебе это всё нужно? Может ты хотел себе будильник по-быстрому запилить на Qt, а теперь будешь ковырять LLVM с CLANG и зубрить теорию из того списка. :D

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.