Стать программистом: обучиться, переквалифицироваться
89069
280
w8m
Напишет быстрее, качество ниже, багов больше. Но это, конечно, тенденция в современных IT, быстро клепать низкокачественную продукцию и выпускать неотлаженный код с кучей ошибок.
А Вы пишете код без багов?
Багов у Вас меньше не потому ли, что кода кот наплакал? Неужели асм отлаживать проще?
Машенька
Можно ли стать программистом за год, т.е. после посещения 10-мес. курсов в НГТУ. Реально ли потом утроиться на работу? Если первое высшее уже есть.
Ну если не брать глобальные смыслы жизни, Вселенной и всего такого :миг: , то может и реально научиться какому-нибудь веб-php-.net на уровне непонимающего-как-это-работает кодера
А вообще курсы существуют, чтобы отнимать деньги у мечтателей в пользу тех, кто не умеет зарабатывать иным способом
Infinity_nsu
Я думаю такой простенький пример:
Показать спойлер

#include <string>
class Animal
{
public:
Animal(const std::string & name) : _name(name) { }
~Animal() { }
virtual void printMessage() const
{
std::cout << "Hello, I'm " << _name << std::endl;
}

private:
std::string _name;
// other operators and stuff
};

class Cow : public Animal
{
public:
Cow(const std::string & name) : Animal(name) { }
~Cow() { }
virtual void printMessage()
{
Animal::printMessage();
std::cout << "and moo " << std::endl;
}
};

int main() {
Cow cow("bill");
Animal * animal = &cow;
cow.printMessage();
animal->printMessage();
}
Показать спойлер


Двухдневный обучающийся не осилит. А обычно дают посложнее.
олдж

веб-php-.net на уровне непонимающего-как-это-работает кодера


Это еще что за зверь?)) У меня друг хочет идти на такие курсы, а я хочу идти в языковую школу. Сейчас вот думаем, как распределить наши финансы по лучше).

Работать потом-то можно будет устроиться после таких курсов?
Показать спойлер
http://study.ngs.ru/study/1193
Показать спойлер
Машенька
Работать потом-то можно будет устроиться после таких курсов?
Смотря куда, в нормальную контору вряд ли возьмут.
Developer
я хоть уже лет 10 как не пишу на С++, но ничего сложного в этом нету.
все логично.... конструкторы, деструкторы, простенькое наследование.
craxx
я хоть уже лет 10 как не пишу на С++, но ничего сложного в этом нету.
все логично.... конструкторы, деструкторы, простенькое наследование.
Да вот и нет
По коду примера можно сделать вывод, что писавший его сам толком не знает с++, кроме абсолютно не нужной в практике подковырки с const
Потенциальный memory leak просто глаза режет
Плюс ярко виден виндовый программист, потому что только MSVS прощает такие поделки
craxx
"Hello, I'm bill"
"Hello, I'm bill and moo"
Developer
У меня дома есть отличная книжка с названием "Самоучитель С++", автора, к сожалению, не помню, так вот, там глава про наследование с подобными примерами очень хорошо написана, довольно простенько, но понятно. За день освоить до понимания этого примера можно легко, если уже есть опыт программирования. Тут достаточно прочитать про виртуальные методы классов и внимательно посмотреть на пример, пример - классика из любой книжки по плюсам:улыб:
Developer
А ответ какой?
уволить написавшего безграмотный пример
олдж
напиши грамотный
Машенька
Работать потом-то можно будет устроиться после таких курсов?
Показать спойлер
http://study.ngs.ru/study/1193
Показать спойлер
Курсы весьма обзорные. Галопом по Европам.
Я бы выбирал курсы, где в результате нужно написать самостоятельно свой проектик.
По результатам поймёте надо ли вообще это
Машенька
После таких курсов станешь кем угодно, только не программистом. Имхо пустая трата денег.
Infinity_nsu
правильно. программистом надо становиться еще в школе.
потом сложнее.
Infinity_nsu
пустая трата денег.
вспоминая молодость: я бы на все деньги для курсов накупил бы книжек и с помощью интернета пробовал бы стать программистом :live:
олдж
По коду примера можно сделать вывод, что писавший его сам толком не знает с++, кроме абсолютно не нужной в практике подковырки с const
Такие тесты с подковырками любят, например, в 2гисе. Я на таком примере поймал весьма продвинутого товарища из параллелса. Это к воспросу адекватности/неадекватности собеседующих.
craxx
напиши грамотный
притензия заключается в том, что при наследовании (публичном) с++ программист на автомате защитится
virtual ~Animal() {} // если никуда не деться от vtable
или
protected: ~Animal() {} // если не хочется vtable

Ловля с const - это пример тупого собеседования. Из разряда приоритета операторов с С/С++ - расставьте скобочки. Ну расставит он скобочки правильно. А через полгода снова забудет.
В параллелз точно так же могут вас поймать на ерунде. стандарт-то он - ого-го:улыб:

А вот отсутствие virtual - жёсткий признак бракодела
Отсутствие return в main - жёсткий признак виндузятника
если на аве ваше фото..) вам нафиг никакие курсы не нужны..:смущ:
олдж
В общем все по делу. Единственно- protected: ~Animal() {} не для вышепривиденного примера.
Developer
В общем все по делу. Единственно- protected: ~Animal() {} не для вышепривиденного примера.
protected: ~Animal() {} public:
и по рукам
protected: ~Animal() {} public:
что это за фигня? :хммм:
Alexander Pavlovich
защищенный деструктор
защищенный деструктор
ладно, мне проще не лезть с вопросами) спасибо:улыб:
Машенька
нет, работать не устроитесь. разве что в дремучую гос. контору...

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

P.S. по окончании курсов нужно выполнить проект. кто по-серьезнее относится - берут проекты более относящиеся к жизни, тогда толк выходит.
Andron_
Без профильного ВО в серьезные конторы нечего и думать. Только эникейщиком в лавку. А оно Вам надо? Продажнику больше платят. Чем годами на оборках ИТ прозябать, лучше второе вышнее по ИТ получить попробовать.
Или идти в псевдоИТ - 1С. Там и без среднего можно - главное уметь читать и писать.
ANik1C
Без профильного ВО в серьезные конторы нечего и думать.
в такой формулировке я бы все-таки не был столь категоричен:улыб:
скорее, "без технического ВО" в серьезные конторы даже нечего думать.
w8m
Дальше ещё не дочитал, возможно кто уже и подметил... повторюсь тогда:

Хотите или нет Вы это использовать, нравится оно Вам или нет - это аргументы для красных девиц, ладно уж.
... но! Не стремиться узнать и понять (пусть и без хорошего опыта) - ни панимаю.

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

Можно вполне и достаточно быстро клепать высококачественный код без единой ошибки. Даже тестировать не придется... но это надо уметь готовить.

Теперь свяжите нижнее утверждение с верхним. Опасаюсь, что и Асм-х86 знаете не на 5++

... на вскидку: все команды и допустимые к ним операнды и их тайминги можете перечислить, или надо в книжку подсматривать? Помнится мне удавалось нарисовать по памяти эту табличку для всех Асмов, с которыми работал (пока работал), а я знавал людей и покруче... и значительно.

Эх. Были люди в наше время, богатыри! не мы...:улыб:
олдж
Зачёт.

16 лет не видел кода на С++, не видел изменений в стандартах... но вот "чего-то не хватает"... и точно. Насчет защищенного деструктора - не очень понял, зачем он именно защищенный... а вот отсутствие return - зачет.:улыб:
tolstopuz
... на вскидку: все команды и допустимые к ним операнды и их тайминги можете перечислить, или надо в книжку подсматривать? Помнится мне удавалось нарисовать по памяти эту табличку для всех Асмов, с которыми работал (пока работал), а я знавал людей и покруче... и значительно.
Издеваетесь? Есть подозрение, что до защищённого режима и MMU Вы не добрались, не говоря уже о дальнейших расширениях. Лопнули бы богатыри, запоминая все команды :ха-ха!:
олдж
Вот тож нипанимаю нафига такой багаж за собой таскать, когда при необходимости можно в справочник глянуть .)
tolstopuz
Теперь свяжите нижнее утверждение с верхним. Опасаюсь, что и Асм-х86 знаете не на 5++
Толсто как ник.

... на вскидку: все команды и допустимые к ним операнды и их тайминги можете перечислить, или надо в книжку подсматривать? Помнится мне удавалось нарисовать по памяти эту табличку для всех Асмов, с которыми работал (пока работал), а я знавал людей и покруче... и значительно.
И опять самомнение бесконечной толщины.
Тайминги были для старых процессоров, с введением конвееров и других оптимизаций невозможно сказать сколько уйдёт тактов на отдельную инструкцию. Знаю сколько байтов займёт инструкция.

Вот тож нипанимаю нафига такой багаж за собой таскать, когда при необходимости можно в справочник глянуть .)
Уже после 2 лет изучения очень хороший код писал, сейчас удивляюсь. Только тогда часто в справочник лазил, а теперь только для расширений SSE понадобится.
w8m
а теперь только для расширений SSE понадобится.
Я начал писать с Z80, потом 8086...586 + всякие однокристалки, мало того, что с выходом нового проца добавлялось/менялось многое, дак еще и каша в голове возникала при прыжках с одной платформы на другу, без справочников ну никак было нельзя .)
integer
Всё же я немного завидую нынешнему поколению. Стать программистом стало куда проще: 100500 книжек в PDF лежит в свободном доступе, пророва лекций, форумов, видеокурсов. Примеров кода на гитхабе - мама не горюй. Компы мощные и есть почти у каждого. Только захотеть...

Не то что 10-15 лет назад. Когда есть 2-3 книжки, хелп на английском и исходники. И спросить было не у кого...
akonovalov1976
Это ты лет 40 назад потаскал бы 12 кг перфокарт в дипломате и понял бы, что программирование тяжкий труд.
akonovalov1976
Сказки какие-то, 10-15 лет назад было достаточно книг в бумажном варианте, бери и читай, вот со спрашиванием сложнее было, учительницы информатики в школе хватило ненадолго :спок: . Компы в то время тоже были много где, в школу пускали дополнительно позаниматься, дома у многих стояли, у меня был древний 286 правда, но с ним тоже много что можно было поделать:улыб:. А 10 лет назад уже нормальные компы дома, без особых проблем тянущие всякие средства разработки, стали обыденностью. Так что не надо, сейчас попроще конечно, но 10-15 лет назад вполне терпимо было.
Infinity_nsu
в 1990 году друг отца принес первый ноут который я видел в своей жизни
IBM с монохромным ЖК экраном на 86 процессоре
такое чудо стоило несколько тыров баксов и казалось чем-то невероятным.
уже через 5 лет комп стал обыденностью
Машенька
У меня есть знакомый, который после таких курсов стал программистом и, поверьте, сейчас очень неплохо устроен.

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

Вот если ваш друг сможет на листочке бумаги запрограммировать (правильно!) сортировку массива минут за 15 на языке типа си, просто каком-то мета-языке, значит шанс стать программистом есть. Но заниматься надо долго и упорно, не сильно рассчитывая на собственно курсы.

З.Ы,
И вообще зачем курсы в НГТУ, когда столько литератцры и онлайн лекций в интернете? : ). Было бы желание.
vanexxx
Вот если ваш друг сможет на листочке бумаги запрограммировать (правильно!) сортировку массива минут за 15 на языке типа си, просто каком-то мета-языке, значит шанс стать программистом есть. Но заниматься надо долго и упорно, не сильно рассчитывая на собственно курсы.
Интересно как он это сделает без теоретических знаний?:)
Developer
Каких это знаний? методов сортировки? знаний что такое массивы и переменные?:улыб:
vanexxx
Каких это знаний? методов сортировки? знаний что такое массивы и переменные?:улыб:
Ну да - там же человек с нуля вроде учится собирался.
Developer
Имхо, если человек ни в школе, ни в вузе ни одной программы ни на чем не написал, то нет смысла и пытаться. Значит мозги уже по-другому сформировались.

Думаю, что введение в основы программирование для начинающих есть на всех технических специальностях. А если чел гуманитарий, то нечего ему делать в программировании. Нечего!
Developer
Совсем с нуля? Он даже в школе не учился? Тогда в программисты точно мимо :спок: . Но что-то мне подсказывает, что 10 классов человек все же закончил, так что про массивы, переменные и сортировку знать обязан.
vanexxx
Вот если ваш друг сможет на листочке бумаги запрограммировать (правильно!) сортировку массива минут за 15
Напомнило институцкие годы, когда писали достаточно внушительные куски кода под турбовижин на листочке и потом защищали его работоспособность, вот где жесть была .)
Машенька
Работать потом-то можно будет устроиться после таких курсов?
В первую очередь это зависит не от курсов, а от вас. Хотя бы потому, что часть людей просто не заканчивает курсы. Лень, нехватка мотивации, непонимание, чего они в жизни хотят. Единицы людей, придя на курсы, пользуются теми возможностями, что они дают. Базовые дисциплины читают не студенты (как любят писать те, кто ничего не знает о курсах), а разработчики (и далеко не начинающие). Т.е. пока студент учится, он может не только освоить материал, но и набраться опыта от человека-практика (в редком ВУЗе такая возможность, преподаватели там обычно сухие теоретики). Но люди так устроены (не все, конечно), что им важнее оценка, получить ее за просто так, и ничего не делать. А потом, после курсов, они пишут про "все поверхностно дается, работу с этими знаниями не найти". Видать, те кто сильнее мотивирован, просто не идут на курсы, а изучают сами. Я и сам так делал: ВУЗ мне дал 10%, 90% изучал самостоятельно, сначала на небольших проектах, потом на работе. Но я учился на программиста. А если на собеседование придет человек, у которого образование филолога, и в графе образования НИЧЕГО не связанного с IT - это не вызовет вопросов?) Мне кажется, что наличие записи о дипломе переподготовки - это, хоть и небольшой, но плюс. Точно знаю как минимум одну крупную компанию, где всегда открыт прием на джуниорские вакансии, и знаю как минимум 2 человека, кто туда прошел после курсов. В общем, если у вас профильное образование, или программирование приносит такой фан, что по ночам вы создаете все новые проекты - никакие курсы вам не нужны. Иначе - они могут помочь (а могут и не помочь - зависит от вас).

У меня к вам в связи с этим вопрос: откуда возникло желание стать программистом? Т.е. насколько вы уверены, что это ваше? Вам интересны логические задачи, вы готовы вникать в технические детали, долго сидеть за компьютером, постоянно обучаться тонкостям, подтягивать английский, читать много-много чужого кода? Работа должна приносить радость)

А теперь по поводу замечаний других участников дискуссии.

Смотря куда, в нормальную контору вряд ли возьмут.
Конторе в общем-то все равно, что человек закончил. В свою первую контору я устроился, когда еще не было диплома вообще. Курсы - это в первую очередь помощь человеку, который, по каким-то причинам, не может самостоятельно разобраться в теме. Ну или хочет делать это в компании других людей)

Курсы весьма обзорные. Галопом по Европам.
Я бы выбирал курсы, где в результате нужно написать самостоятельно свой проектик.
Курсы завершаются написанием дипломного проекта, тему выбираете сами. Можете хоть стартап, хоть инновационно-революционное ПО написать - никто не ограничивает) Ну и руководитель помогает, конечно. Насчет обзорности, арифметика простая. ВУЗ - 5 лет, курсы - год. ВУЗ - непосредственно программирование 1-2 предмета в семестр, и куча всего другого (да, это тоже нужно для высшего образования, но для реальной разработки вам не понадобится философия Канта и формулы расчета шестеренок). Курсы - только программирование, концентрированно, ну а что вы хотели за год?

правильно. программистом надо становиться еще в школе.
потом сложнее.
Да. Но есть исключения, когда человек резко меняет профиль уже в "зрелом" возрасте. Ему сложнее - ну и что? А может человек нашел наконец себя в новой сфере?) Примеры такие видел.
Джемоед
ВУЗ - 5 лет, курсы - год. ВУЗ - непосредственно программирование 1-2 предмета в семестр, и куча всего другого
А вот позвольте несогласится. На моей памяти, в семестр, было 1-2 предмета так или иначе к программированию неотносящихся, а вот остальные, были более чем полезны.

Курсы - только программирование, концентрированно, ну а что вы хотели за год?
Может таки не программирование, а кодерство ?
Andron_
нет, работать не устроитесь. разве что в дремучую гос. контору...
Мне кажется, это зависит от человека, и его готовности работать над собой. Во-первых, дремучая гос.контора может оказаться первым шагом, строчкой в резюме так сказать, проработав там год, поискать что-то получше. Во-вторых, у многих крупных компаний есть джуниорские вакансии - прекрасный старт для карьеры в IT ) Там требования к кандидату существенно ниже. В третьих, можно работать фрилансером - тут вообще образование не играет роли.

но без самостоятельных занятий толку будет ноль.
Так это во все так) И никак по другому.
Mozepiy
А вот позвольте несогласится. На моей памяти, в семестр, было 1-2 предмета так или иначе к программированию неотносящихся, а вот остальные, были более чем полезны.
Разная бывает программа, я учился в НГТУ АВТФ. Для примера возьмем первую сессию. Если правильно помню, было 4 экзамена:
1. Программирование
2. Мат. анализ
3. Концептуальные основы информатики.
4. Линейная алгебра

К программированию относится только первое. КОИ - это нечто специфичное, хотя мне было интересно. А остальное математика. На следующий год - примерно также, только математика заменилась физикой, на третьем курсе - спецификой, типа ССОД, пропорция примерно такая же. Так вот, "более, чем полезна" ли математика программисту? Это тема множества холиваров, не будем их разводить) Математику знать нужно, но вот это "нужно" на деле выливается во множество нюансов. Например, когда я занимался 3D играми - линейка мне очень пригодилась (вектора, матрицы). Матан - слегка, в частности Фурье-преобразование. Впрочем, если бы я вообще не знал матан, мне бы это не помешало - ведь нужно было просто реализовать готовый алгоритм, а не выводить интеграл Фурье! Ну а сейчас я работаю в области enterprise-решений, там ни матаном, ни линейкой особо не пахнет)

Может таки не программирование, а кодерство ?
Это тоже холивар. Кодер - это не тот, кто не знает матан и не проштудировал Кнута. Кодер - это недальновидный человек, который при решении проблемы выбирает самое быстрое решение, не думая об архитектуре, культуре кода и прочих вещах, присущих "большой разработке". Это скорее типаж людей, а не объем знаний. Ни один ВУЗ не сделает из такого человека "не-кодера". И наоборот, если у человека есть голова на плечах, он хочет учиться и расти, расширять свои представления о мире информационных систем - курсы просто дадут ему ключевые зацепки для быстрого старта (какие технологии есть, как сделать то-то, какие алгоритмы нужно знать, из чего состоит цикл разработки, ключевые моменты СДиА и ООП).

Вообще, критиковать легко, а вы попробуйте за несколько занятий по-максимуму передать свой многолетний опыт разработки людям, которые вчера научились запускать IDE. Это - искусство.