Самообучение программированию
671
31
Сап.
Программированию учиться не собираюсь, но интересно послушать мнения форумчан относительно того, с чего нужно начинать, какие "базовые" знания нужны, помимо языков программирования, чтобы быть востребованным и не сосать лапу.Буду рад развернутым комментариям
Хрен знает. Ну я писал на С, из-за специфичности задач параллельно разбираясь в моделях памяти, работе CPU, структурах данных и алгоритмах.
Кстати, если ты извращенец, то C позволяет писать код, который сможешь запустить на правах операционной системы. Ну, во время загрузки компа вместо ОС загрузить программу
Познакомишься с прерываниями, вот с этим всем
LafkiMiscuzi сказал(а):↑чтобы быть востребованным и не сосать лапу.
Нажмите, чтобы раскрыть...Не прочел это.
Мой ответ тогда бесполезен, потому-что я этим по фану занимаюсь
знания о цикле разрабоки, умение написания тех. документации, знания о RDBMS, плюс множетво инфы по фреймворкам/языкам варьирубщимся от специфики направления работы
если речь идет как не сосать лапу на собеседованиях не в бичарни, сюда можно приписать знание дизайн паттернов, структур данных, алгоритмы етц
LafkiMiscuzi сказал(а):↑Сап.
Программированию учиться не собираюсь, но интересно послушать мнения форумчан относительно того, с чего нужно начинать, какие "базовые" знания нужны, помимо языков программирования, чтобы быть востребованным и не сосать лапу.Буду рад развернутым комментариямНажмите, чтобы раскрыть...Друг с ходу в java вкатился и успешно пишет на нем всё что необходимо, остальное подтянул уже по ходу работы. Я пробовал по схеме html>css>js>php вкатиться, но последние полтора этапа чет не зашли. Слился с того что не могу понять базовое взаимодействие, а пока не пойму принцип работы и взаимодействия дальше идти нет мотивации, потому что это уже будет не осваивание, а тупой зубреж без понимания как это работает.
LafkiMiscuzi сказал(а):↑Сап.
Программированию учиться не собираюсь, но интересно послушать мнения форумчан относительно того, с чего нужно начинать, какие "базовые" знания нужны, помимо языков программирования, чтобы быть востребованным и не сосать лапу.Буду рад развернутым комментариямНажмите, чтобы раскрыть...не рекомендую лезть в программирование пока не освоишь дискретку и логику (алгебра логики -> исчисление высказываний -> исчисления предикатов первого порядка - этого по логике хватит). Дальше книгу по алгоритмам + параллельно на ЛЮБОМ языке реализовывать эти алгоритмы. Не нужны офк теоретические алгоритмические книги с доказательствами по 1к страниц, именно с практически точки зрения они нужны (Кормен базовый курс, например, но это серьёзный автор, у Окулова есть серия книг, где различные алгоритмы рассматриваются (компьютерной арифметики, по работе со строками, в том числе "Программирование в алгоритмах", где рассматриваются классические сортировки, поиски, графовые алгоритмы и тд.д.)).
Дальше всё легче, тк многие начинают идти от обратного и когда на пробном периоде выясняется, что человек просто не понимает, как описать алгоритм решения какой-то задачи даже учебной (хоть и связанной со спецификой работы, в данном случае я 1С программистом работаю и в том числе занимаюсь тем, что обучаю новичков, которые к нам приходят, страшно представить, что в голове у некоторых людей, но обычно на собеседовании такие отсекаются) или не может понять, почему он не работает, то с ним обычно прощаются на некст месяц.
Далее уже в ООП вкатываться, потом уже выбирать область деятельности и исходя от области изучать язык, применяемый в ней и конкретные технологии.
Ну и параллельно в течение всего времени SQL изучать. В него вкатываться можно независимо от всего остального.
lex_lutor сказал(а):↑а где про это найти инфу? книга есть?
Нажмите, чтобы раскрыть...не знаю, книг масса, но они в строгом математическом стиле написаны, такое нечитабельно, я в универе, когда учился, это понял на лекциях и практиках. По книге я бы не понял. Или бы очень долго понимал. Тк преподаватели могут "на пальцах" объяснять математику, тогда становится понятней. Но основная идея несложная, это не матан (в узком смысле - мат. анализ)
такой НЕСТРОГОЙ литературы по этим темам не знаю.
Есть еще в ЯП современных (почти любых) такие понятия, как регулярные выражения, которые используются в практике программирование при нестрогом поиске. А это вообще уходит в теорию формальных языков, которая в свою очередь уходит в логику и теорию множеств.
Но это не имеет смысла изучать отдельно, тк обычно регулярки по ходу дела сразу в контексте программирования можно изучить.
ПО логике мб можно и ограничиться только алгеброй и не лезть в исчисления (есть понятие алгебра логики -> предикатная логика и исчисление высказываний -> исчисление предикатов ->, так вот исчисления изучать смысла особого нет для классического программирования, а алгебра легка для понимания).
Просто понимание логики даёт возможность вообще во многих случаях не использовать очередное условие.
Ну, например, условие вида:
if var1="А" AND Var2="B" then
return True;
else if Var1 <> "А" AND Var2 <> "B" then
return True;
else
return False;
endif;
можно переписать в одну строку, которая легче читается
Return (Var1 = "A") = (Var2 = "B")
Т.к. это есть инвертированный XOR (если в ЯП есть XOR встроенный, то это еще легче)
Зависит от целей. В программировании как при строительстве. Смысл учиться работать пилой, если дом строишь каменный. Начинать и учиться надо отталкиваясь от потребностей. Есть общие фундаментальные правила, Но их можно найти на любом сайте, посвященном ит и кодингу
GladiatoRRR325 сказал(а):↑Дальше можно было не продолжать
Нажмите, чтобы раскрыть...
после того, как предлагает перед программированием учить математику - тоже можно не продолжать, ох уж эти испорченные институтом головы, вместо того чтобы через 3 месяца устроиться на работу начать зарабатывать учиться на практике и наслаждаться жизнью, он советует новичку учить математику что во первых затянется на месяцы, а во вторых просто отобьет желание всего этого
изучить computer science => выбрать ветку (веб, мобайл, десктоп итд) =>чтение книг, изучать алгоритмы, практиковаться. база крч => выбрать мини проект и пилить его => допилить свой проект усовершенствуя его и добавляя полезные фичи и используя современные технологии и библиотеки => пилить проекты (2-3 более менее серьезного проекта для соло программёра будет норм) => найти работу на позицию джуна => пахать как лошадь и апгрейдить себя каждый день
и мб через лет 5-7 будешь пересекаться с илоном маском в офисе теслы
faktorrr сказал(а):↑после того, как предлагает перед программированием учить математику - тоже можно не продолжать, ох уж эти испорченные институтом головы, вместо того чтобы через 3 месяца устроиться на работу начать зарабатывать учиться на практике и наслаждаться жизнью, он советует новичку учить математику что во первых затянется на месяцы, а во вторых просто отобьет желание всего этого
Нажмите, чтобы раскрыть...Не математику, а конкретно дискретку, логику и параллельно типовые алгоритмы. И не учить, а знать основы.
Макаки не нужны, они отсеиваются. Поэтому отбор по дипломам делают, чтобы хоть как-то отсеять этот поток, которые за 3 месяца пытаются вкатится.
Всё равно на первом собеседовании, если ты идёшь в качестве стажёра, дают простые мат. задачи или запрогать какой-нибудь алгоритм. Либо на дом потом дом. задание дают уже связанной с предметной областью, где проверяют твоё умение программировать конкретно. А это прежде всего алгоритмическое мышление. Знание языка вторично.
GladiatoRRR325 сказал(а):↑Дальше можно было не продолжать
Нажмите, чтобы раскрыть...Выше мной описанный вариант работает почти для любых областей, 1С это, веб или геймдев, не имеет значения. Там везде объектное императивное программирование и SQL.
Kvayzer сказал(а):↑Не математику, а конкретно дискретку, логику и параллельно типовые алгоритмы. И не учить, а знать основы.
Макаки не нужны, они отсеиваются. Поэтому отбор по дипломам делают, чтобы хоть как-то отсеять этот поток, которые за 3 месяца пытаются вкатится.
Всё равно на первом собеседовании, если ты идёшь в качестве стажёра, дают простые мат. задачи или запрогать какой-нибудь алгоритм. Либо на дом потом дом. задание дают уже связанной с предметной областью, где проверяют твоё умение программировать конкретно. А это прежде всего алгоритмическое мышление. Знание языка вторично.
Выше мной описанный вариант работает почти для любых областей, 1С это, веб или геймдев, не имеет значения. Там везде объектное императивное программирование и SQL.
Нажмите, чтобы раскрыть...
кто делает? каким дипломам? по редхатовским видел, по цисковским видел, но ни одна уважаемая себя контора не будет делать отсев по высшему образованию, тем самым терять огромное кол-во умных людей, ведь это очевидно, какая разница какие бумажки у него есть, если он работает лучше всего нашего коллектива? и таких примеров множество, я сам смотрю на тех, у кого вышка с жалостью и сожалением, ведь сколько всего можно было выучить за 4-6 лет изучения ненужного
про задачи все индивидуально, кто то задает 2-3 вопроса из области ооп, кто то дает задачку на 2 часа, кто то сложнее, не нужно говорить за всех
faktorrr сказал(а):↑не будет делать отсев по высшему образованию
Нажмите, чтобы раскрыть...Диплом работает, как высокий ММР в Доте. Если ты не глупый, то его получишь. Это просто доп. отбор. В России сложно не получить диплом. Зачем работодателю искать самородков без дипломов и тратить на это уйму времени, если легче сразу поставить отбор и статистически увеличить вероятность найти нормального спеца.
И зависит от диплома. В данном случае, если почти в около топ10 вуза страны учился, окончив баку и магу с двумя красными дипломами на ИТ направлении (по наличию красного диплома тоже отборы иногда ставят, прям в вакансии и написано), то ,как минимум, почти всегда гарантия, что меня рассмотрят для собеседования.
Это работает в основном для стажеров, джуниоров. Если у тебя есть сертификаты или прочие бумажки, подтверждающие сдачу ОФИЦИАЛЬНОГО экзамена в той области, чем ты занимаешься, то на них смотрят, а если их нет, то на что смотреть ? Ты экзамены навряд ли сдашь без опыта работы (разве только те экзамены сдавать, которые в виде теста сдаются, но и то в моей области на сдачу экзамена по получению начальной бумажки нужно было бы выучить наизусть 1к+ вопросов).
Директор просит, чтоб отдел кадров построил отбор дебилов. Если этого не произойдёт, то будут приходить люди, у которых слюни изо рта текут. И искать среди кучи дебилов гениев не хотят. Легче среди меньшего количества дебилов их найти, чем среди большего.
GladiatoRRR325 сказал(а):↑Дальше можно было не продолжать
Нажмите, чтобы раскрыть...кстати, держу в курсе, что ЗП 1С программиста на территории всего СНГ в среднем такая же.
А есть еще SAP (немецкие ERP-системы, аналог 1С, но применяется в основном для крупного бизнеса), то там ЗП еще выше (потому что в РФ слишком мало специалистов по этой системе, но они нужны, тк все сайты хотят делать, а бизнес (в том числе) автоматизировать некому)
Kvayzer сказал(а):↑не знаю, книг масса, но они в строгом математическом стиле написаны, такое нечитабельно, я в универе, когда учился, это понял на лекциях и практиках. По книге я бы не понял. Или бы очень долго понимал. Тк преподаватели могут "на пальцах" объяснять математику, тогда становится понятней. Но основная идея несложная, это не матан (в узком смысле - мат. анализ)
такой НЕСТРОГОЙ литературы по этим темам не знаю.
Есть еще в ЯП современных (почти любых) такие понятия, как регулярные выражения, которые используются в практике программирование при нестрогом поиске. А это вообще уходит в теорию формальных языков, которая в свою очередь уходит в логику и теорию множеств.
Но это не имеет смысла изучать отдельно, тк обычно регулярки по ходу дела сразу в контексте программирования можно изучить.
ПО логике мб можно и ограничиться только алгеброй и не лезть в исчисления (есть понятие алгебра логики -> предикатная логика и исчисление высказываний -> исчисление предикатов ->, так вот исчисления изучать смысла особого нет для классического программирования, а алгебра легка для понимания).
Просто понимание логики даёт возможность вообще во многих случаях не использовать очередное условие.
Ну, например, условие вида:
if var1="А" AND Var2="B" then
return True;
else if Var1 <> "А" AND Var2 <> "B" then
return True;
else
return False;
endif;
можно переписать в одну строку, которая легче читается
Return (Var1 = "A") = (Var2 = "B")
Т.к. это есть инвертированный XOR (если в ЯП есть XOR встроенный, то это еще легче)
Нажмите, чтобы раскрыть...Подожди, а когда это выполняется 3 условие?!
ForeverYang сказал(а):↑Подожди, а когда это выполняется 3 условие?!
Нажмите, чтобы раскрыть...Тогда, когда мы идём на третью ветку ? То есть, если значение
var1 <> "A" И Var2 = "B" ИЛИ var1 = "A" И Var2 <> "B"
Я же написал ниже, что это по сути инвертированный XOR, который записывается в одну строку.
И подобное условие может встречаться в реальном программировании. Тогда целесообразно не писать кучу условий.
Kvayzer сказал(а):↑Тогда, когда мы идём на третью ветку ? То есть, если значение
var1 <> "A" И Var2 = "B" ИЛИ var1 = "A" И Var2 <> "B"
Я же написал ниже, что это по сути инвертированный XOR, который записывается в одну строку.
И подобное условие может встречаться в реальном программировании. Тогда целесообразно не писать кучу условий.
Нажмите, чтобы раскрыть...Аа ну да. Я чет затупил... долго уже не писал сори
Kvayzer сказал(а):↑не рекомендую лезть в программирование пока не освоишь дискретку и логику (алгебра логики -> исчисление высказываний -> исчисления предикатов первого порядка - этого по логике хватит). Дальше книгу по алгоритмам + параллельно на ЛЮБОМ языке реализовывать эти алгоритмы. Не нужны офк теоретические алгоритмические книги с доказательствами по 1к страниц, именно с практически точки зрения они нужны (Кормен базовый курс, например, но это серьёзный автор, у Окулова есть серия книг, где различные алгоритмы рассматриваются (компьютерной арифметики, по работе со строками, в том числе "Программирование в алгоритмах", где рассматриваются классические сортировки, поиски, графовые алгоритмы и тд.д.)).
Дальше всё легче, тк многие начинают идти от обратного и когда на пробном периоде выясняется, что человек просто не понимает, как описать алгоритм решения какой-то задачи даже учебной (хоть и связанной со спецификой работы, в данном случае я 1С программистом работаю и в том числе занимаюсь тем, что обучаю новичков, которые к нам приходят, страшно представить, что в голове у некоторых людей, но обычно на собеседовании такие отсекаются) или не может понять, почему он не работает, то с ним обычно прощаются на некст месяц.
Далее уже в ООП вкатываться, потом уже выбирать область деятельности и исходя от области изучать язык, применяемый в ней и конкретные технологии.
Ну и параллельно в течение всего времени SQL изучать. В него вкатываться можно независимо от всего остального.
Нажмите, чтобы раскрыть...>1c
> программирование
>советуем лютую дичь на уровне жалких преподов
Понять нужное дискретки 1ый раздел любого языка программирования(И ИЛИ и тд).
хех
Podpivasik сказал(а):↑судя по форуму - сейчас каждый второй программист
Нажмите, чтобы раскрыть...каждый второй хочет, но программист каждый 100ый)
Kvayzer сказал(а):↑кстати, держу в курсе, что ЗП 1С программиста на территории всего СНГ в среднем такая же.
Нажмите, чтобы раскрыть...Да, я знаю, но разве уровень ЗП что-то показывает(по крайней мере в РФ)?
ИМХО, ни один уважающий себя ИНЖЕНЕР не будет становиться 1С кодером, надеюсь, объяснять почему - не стоит
GladiatoRRR325 сказал(а):↑ИМХО, ни один уважающий себя ИНЖЕНЕР не будет становиться 1С кодером, надеюсь, объяснять почему - не стоит
Нажмите, чтобы раскрыть...Я не на зоне живу, где выбираю профессию из-за уважения или неуважения, а в первую очередь исходят из личных интересов и ЗП.
С чем это связано?
Потому что для 1Сника важно уметь в аналитику бизнес-процессов, а не только в кодинг. А в других областях (кроме сайтоДелов) нет сложных предметных областей (не бизнеса и производства), где нужна аналитика, на основе которой уже реализуется/дорабатывается какое-то программное решение ?
Да, это выходит за рамки кодинга.
Посмотри на ситуацию ЗП программистов-аналитиков SAP или Oracle (не СУБД, а ERP-системы от них) за рубежом.
Да и тут можно быть кодером, делая по ТЗ задачи, но толку с этого мало.
panicPlayer сказал(а):↑Понять нужное дискретки 1ый раздел любого языка программирования(И ИЛИ и тд).
Нажмите, чтобы раскрыть...без понимания деревьев (соответственно и графов), частично комбинаторики нормального кодера не выйдет.
Да даже в этом 1Се используются деревья, нужно уметь с ними работать, обходить их.
Программист должен уметь реализовать связный список, граф, дерево (неважно, на каком ЯП) и понимать, как с этим работать. Сейчас люди начинают программирование с Питона какого-нибудь, а не C/C++,как было в наше время. Поэтому таких вопросов не стояло. ТОгда вручную все эти штуки решались. Нужно было еще с памятью бороться. Сейчас в два клика это делается, но понимать это всё равно нужно
Kvayzer сказал(а):↑кстати, держу в курсе, что ЗП 1С программиста на территории всего СНГ в среднем такая же.
Нажмите, чтобы раскрыть...выбирать работу программистом только по уровню зп - быть дауном.
через месяц ты выгоришь, и никакая зп уже не заставит тебя нормально работать.
а в говне (1с) я бы даже за полляма в месяц не ковырялся
Тема закрыта
-
ЗаголовокОтветов ПросмотровПоследнее сообщение
-
Сообщений:11
Просмотров:16
-
Взгляд_на2000ммр 18 Jun 2024 в 19:16Сообщений: 7 18 Jun 2024 в 19:16
Сообщений:7
Просмотров:9
-
Сообщений:9
Просмотров:10
-
Сообщений:5
Просмотров:6
-
Сообщений:6
Просмотров:6