LINUX.ORG.RU
ФорумTalks

Что лучше учить?

 ,


2

2

Паттерны проектирования с риском вывихнуть мозг от шаблонов абсратной фабрики синглтонов, или нормальную библиотеку например qt в которой уже все написано (гуи, сеть, СУБД и т.д.) и грубо говоря «можно петь не зная нот», как в караоке.

С чисто практической точки зрения без лишних холиваров типа о пользе высшего образования.

Перемещено leave из development



Последнее исправление: cetjs2 (всего исправлений: 1)

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

Вот раньше не было в С++ анонимных функций, деды придумали способ как это обойти. Кому сейчас это надо изучать?

Я, конечно не погроммист, но у нас перед тем как учить ассемблеру, учили архитектуре ЭВМ. Иначе это колдовство какое-то, а не разработка, ИМХО, типа «ввел заклинание и оно поехало». Так что правильно вам все рассказывают. Главное, чтобы про дискретку и комбинаторику рассказали еще.

когда все остальные пишут на java за очень большую зарплату

На первом курсе, ИМХО, надо впитывать, а не на зарплаты смотреть.

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

Это какой регистрант тебя так хардкорно анально унизил

Экстраполяция личного опыта на других часто оказывается ошибочна.

anonymous
()

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

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

Дедукция не существует вне личного опыта. Если первое, что тебе приходит в голову - это мысли об анальном унижении, то это характеризует тебя, а вовсе не онанимуса.

anonymous
()

Удобно всего взять сразу два недоязычка - один для библиотек и говняк-говняк прототипирования, второй для перформанса и байтоёбства. Большинству вовсе достаточно только первого.

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

А при чем тут ущербность динамических языков? Я про то какими языками владеешь?

ya-betmen ★★★★★
()
Ответ на: комментарий от Liz812

При этом в Питоне эти самые паттерны активно применяются

saibogo ★★★★
()

Компромиссное решение: выучить формошлепство, устроиться на работу и потихоньку изучать паттерны чтобы найти в будущем что то получше

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

Тору

Какой-то неправильный ты буддист.

anonymous
()

Ох ты ж… Еще один с вопросом на эту тему за одну неделю у меня. Но повторю и тут.

Знание фреймворка не освобождает тебя от ответственности за тот код, который ты пишешь. Чем сложнее система, тем больнее тебе будет от велосипедов.

Паттерны решают конкретные задачи - проблемы, с которыми сталкиваешься, когда пишешь код. Вот есть у тебя твой Qt, а тебе нужно (к примеру) сопрячь твою систему с какой-то другой, у которой есть своя библа для сопряжения. Но ты поймешь при анализе, что тебе неудобно (не подходит) пользоваться ее интерфейсом. Тебе удобно чуть по-другому. И ты поймешь, что нужно сделать свою обертку поверх этой библиотеки. А паттерны (это всего лишь приемы проектирования кода, выверенные годами практик) предложут тебе, например, сорганизовать свой велосипед по типу Прокси, Адаптера, Фасада или Декоратора. В книжке уже написано, как это сделать с меньшей болью, чтобы потом при расширении ты смог и в другом случае воспользоваться своим кодом, а не писать еще один велосипед. Или легко заменить этот код-прослойку на другую без особых проблем.

Если тебе лень читать и разбираться - возьми посмотри https://youtu.be/v9ejT8FO-7I - крайне рекомендую всем, кто разбирается в паттернах, этого чувака. Он очень доходчиво объясняет, раскладывает по полочкам. Да, на английском, да очень быстро говорит. Но произношение очень хорошее для восприятия.

bvn13 ★★★★★
()

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

Qt - отличный способ начать писать готовые приложения, по дороге набив себе достаточное количество шишек.

Знание нот (алгоритмов, структур данных, ОС, железа) - вот этому стоит уделать максимальное внимание. Так же полезно заглядывать «за ширму» Qt и самостоятельно разбираться в таких вещах как сети, теория и практика СУБД и так далее.

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

Видишь, паттерны — это ещё и универсальный язык для разработчиков.

И учиться он за пару недель в случае необходимости.

trex6 ★★★★★
()

С чисто практической? Мы ведь не в курсе того какие в наличии знания и достаточно ли мозгов, не кривые ли они. Чисто практически можно втирать людям курсы 1С. Паттерн это шаблонный способ решения простых задач. QT это библиотека для унылой кучи всего, но лучше бы какой-нибудь Goldendict обходился без нее. Если проект супер оригинальный и полезный можно хоть что делать, чтобы его реализовать. Хоть Хаскел учите. Вопрос крайне некорректен, но если большой нужды нет надо учиться самой реализовывать все. Вы же не спрашиваете стоит ли учить грамматику английского языка, чтобы мозг не свихнулся от знаний большого числа русских слов. Это примерно такой же абсурд без цели и описания ситуации с пояснениями что не нравится и чего хочется. Дуракам лучше учить чего попроще. Сами честно себе ответьте осилите ли что-то абстрактное вроде Хаскела, чтобы заниматься идейным программированием или хватит Си с ассемблерными вставками. И нечего сваливать на других свой выбор. Если назвать QT нормальным, то он от этого быстрее не заработает. У программиста нормально когда все максимально быстро. Как пилотирование формулы один с целью наиболее быстро доехать, а не как у женщин доехать куда-то на нормальном лимузине.

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

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

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

В фортране теперь абстрактные классы и чтобы не хуярить лапшу из if'ов на экраны в десятке мест, было очень полезно воспользоваться паттернами (я уж не помню, как называется, абстрактная фабрика, наверно).

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

Логикой ты не блещешь. Анонимус высказался по теме без анальности. Ты высказался по анонимусу с анальностью. Ты - источник анальности в теме. Не унывай. Может, поумнеешь, вичер.

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

Ого. Вот шутки шутками, а ведь такой юмор действительно на пустом месте не рождается. Можно, впрочем, списать просто на «культуру».

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

Если это не толстенное шлангование, то логикой не блещешь как раз ты. Анонимус высказался максимально гнило, при этом предвзято, я высказался ещё гнилее, пытаясь обыграть его предвзятость. Клин клином.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 3)
Ответ на: комментарий от anonymous

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

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

Только человек который ни разу не парсил нормальной сложности синтаксис может сказать, что визитер заменяется generic функциями.

DiKeert ★★
()
Последнее исправление: DiKeert (всего исправлений: 1)

или нормальную библиотеку например qt в которой уже все написано (гуи, сеть, СУБД и т.д.) и грубо говоря «можно петь не зная нот», как в караоке.

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

Aber ★★★★★
()

Что лучше учить?

Основы. Компилируемые языки, статическая, динамическая типизация, виртуальные машины, jit, gc, рефлексия, ООПота, функциональщина, декларативщина. Расширяй кругозор, если действительно хочешь быть программистом.

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

Библиотеку

Не надо учить библиотеку. А то потом получится программист на библиотеке.

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

Т.е. ты хочешь сказать, что «стратегия» - это не костыль выпавший из С++, а какой то сам по себе ценный артефакт?

Да. Вообще паттерны — это не алгоритмы и не типы алгоритмов (перевод «шаблоны» неверный), а термины для именования часто встречающихся идей. Также как китайцы в незапамятные времена придумали 36 стратагем и сейчас, чтобы описать достаточно сложные интриги достаточно указать имена стратагем, к которым они относятся.

Кстати, «стратегия» не обязан быть одной функцией, может быть несколькими тесно связанными, например, параметр editor в editor-canvas. Или перезапуски (restarts) в Common Lisp.

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

Только человек который ни разу не парсил нормальной сложности синтаксис может сказать, что визитер заменяется generic функциями.

Чем визитер для парсинга лучше generic функции с multiple dispatch? И зачем что-то из них для парсера? Я ещё понимаю, сериализатор, но в парсер куда визитор прикручивать?

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

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

У тебя не всегда будет возможность выбрать себе язык программироавния.

slowpony ★★★★★
()

С выучи! Тебе за глаза хватит для всех зада.

Кресты нужны только неосиляторам С.

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

Если вы боитесь что-то учить, чтобы не «вывернуть мозг», попробуйте 1С, там таких бездарей любят.

Дельное предложение.

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

Не сочти за троллинг, но домоводство и кулинарию.

А это даже лучше предыдущего.

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

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

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

А ты думала, технику минета изучать надо?

ЛОЛ. Вообще, это может быть самым правильным советом. Всё как ТС хочет, большие ЗП без необходимости думать головой.

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

Как это - сосать и головой не думать? Не-не, тут только дама с двумя верхними образованиями справится.

LongLiveUbuntu ★★★★★
()
Последнее исправление: LongLiveUbuntu (всего исправлений: 1)
Ответ на: комментарий от Liz812

ДА, два раза ДА

да еще в придачу придется изучить, математику, физику и припомнить химию

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

Для начала нужно дать определение «основам». Но мне не интересен этот спор. Ты начал с какого-то бреда, ничего дельного из этого не выйдет.

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

У тебя не всегда будет возможность выбрать себе язык программироавния.

В маня-мирке если ты не используешь на работе ЯП мечты, то ты лох.

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

я заинтересовался языком Rust в свое время, что плюс

Удалось найти работу на Rust? Asking for a friend.

Я и не искал, но зато благодаря своим упражнениям на Rust понял, что могу эффективно и просто решить одну сложную задачу на C++, которая мне казалась нерешаемой эффективно на языках без GC. Уже польза!

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