LINUX.ORG.RU

Программист из гуманитарного ВУЗ-а!

 


2

1

Учусь на 1-ом курсе , только не смейтесь громко, гуманитарного ВУЗ-а по специальности лингвист-переводчик, т.к. в технический не возьмут без ЕГЭ, а я ушел после 9-ого. Программированием заинтересовался на последнем курсе колледжа. Дело мне это понравилось, но я делаю все не так, как надо. Не хватает мат. аппарата, который дают на соответствующих кафедрах, и мозгов, чтобы это осилить. Брал университетские учебники, читал стр-иц 20, а потом сидел и думал, правильно ли я это понял или никуя не понял. Так вот, в чем вопрос: можно ли изменить свое мышление в мышление программиста? То же самое можно сказать о методах обучения, например, читаю теорию, но не понимаю зачем она мне. Учусь методом тыка. Если судить по логике технаря, то программист-технарь, а лингвист-гуманитарий, т.е. гуманитарий-не технарь, а значит - не программист? И не человек, как говорил Луговский Это так? Что мне делать в таком случае? Кроме убиться об стену, есть ли учебники, которые подробно объясняют, что учить и как это использовать? Короче, книги по основам программирования и мышлению программиста!

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

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

В истории главное анализ, а не запоминание. Если без анализа, то это действительно просто куча информации...

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

неспособные к программированию

Те, кто способны воспринимать плюсы и жабу — это не программисты. Если бы у них были мозги, они бы не писали на этом дерьме. Разве что, ради куска хлеба, если припрет.

anonymous
()

Ничего смешного.

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

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

Покури комбинаторику, дискретную математику, логику etc

Хотя, справедливости ради, пару человек, с которыми постоянно работаю, гуманитарии по базовому. Есть даже философ. Хреначит на Сях с асмом легко и непринуждённо. =)

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

Те, кто способны воспринимать плюсы и жабу — это не программисты. Если бы у них были мозги, они бы не писали на этом дерьме. Разве что, ради куска хлеба, если припрет.

Свежо питание, да серится с трудом. Мне на протяжении 20 лет бодрые школяры заявляют, что С++ - отстой. Тем не менее, уже поменялась куча железа, систем, парадигм, подходов к программированию. Появлялись и исчезали очередные новомодные «крутые» языки. Но С++ до сих пор есть, активно развивается и помирать вроде как не собирается, а вся новомодная шелуха приходит и уходит в небытиё. Это просто наблюдение. :)

Все попытки наездов на С++ обычно происходят от неспособности индивида понять его. Лиса и виноград, что-то вроде того. Да, С++ не запрещает прострелить себе ногу. И школяры этим злоупотребляют, а потом заявляют, что это «плохой» язык, что он «опасный», что там, дескать, можно сделать кучу ошибок и т.д. Да, можно. Но если применять мозг, то таких проблем не возникает. Это не С++ плохой, а чей-то мозг неспособен с ним справиться.

Ну и статистика ПО какбэ говорит нам о том, что на С++ писали, пишут и будут писать хороший, качественный софт. С++ - это инструмент разработки для профессионалов. Профессионал без проблем пишет на С++ и не ощущает проблем. Школота флудит на форумах и рвёт на себе тельняшки, едва научившись писать говнокод в какой-нибудь полуавтоматизированной IDE-шечке, которая убирает за ними какахи в памяти и не даёт сделать лишнего. И обычно школота не думает, что та уютная IDE-шечка крутится поверх огромной кучи софта, написанного на С++, без которого само существование таких систем и школяров, которые в них сидят, невозможно.

И да, есть ещё С и ассемблеры. Которые я очень уважаю и иногда применяю. Есть вещи, которые нельзя написать по-другому. Производители харда не поддерживают песочницы в своих разработках.

Кстати, за профессиональное программирование серверного софта на С/C++ очень хорошо платят. Так что «кусок хлеба» у меня весьма нехилый :)

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

Скажи, ничтожество, а тот же Александреску - он тоже школота и неосилятор, да?

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

к сведенью профи.

есть признание Страуструппа , что он не всегда (влёт) понимает синтаксис текущего С++ признаного комитетом по стандартам

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

Программирование - это, в первую очередь, мышление.

логикой мышление не ограничевайте :)

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

если в математике не знать комбинаторику, то и теорию вероятности знать не будешь.

слишком жёсткая импликация.

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

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

а потом заявляют, что это «плохой» язык

то что С++ «плохой» язык заявляют не только школяры.

есть ещё создатель STL НАПРИМЕР ((с) паук).

qulinxao ★★☆
()

Великий Линус сказал

C++ is a horrible language. It's made more horrible by the >fact that a lot
of substandard programmers use it, to the point where it's >much much
easier to generate total and utter crap with it. Quite >frankly, even if
the choice of C were to do *nothing* but keep the C++ >programmers out,
that in itself would be a huge reason to use C.

Интересующимся читать срач дальше http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918

anonymous
()

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

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

Есть люди, неспособные к программированию.

Хм, если у меня с математикой слабенько (т.е. алгебра) то я не способен к программированию? Мне хотелось бы знать, влияет ли знание алгебры на способность к программированию?

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

Мне хотелось бы знать, влияет ли знание алгебры на способность к программированию?

Не знание алгебры, а булева логика. Логика существует объективно, математика лишь формализует её и помогает использовать более эффективно.

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

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

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

что он «опасный»

это говно, не потому говно, что он опасный, а потому что он имеет уродливый дизайн и быдло-ООП, специально напейсания программ обезьянами.

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

Хвостовая рекурсия.

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

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

Хм, если у меня с математикой слабенько (т.е. алгебра) то я не способен к программированию? Мне хотелось бы знать, влияет ли знание алгебры на способность к программированию?

Смотря почему слабенько. Алгебра, как таковая, в программировании практически не применяется. Но для понимания математических дисциплин необходим тот же склад ума, что и для понимания программирования, поэтому если математика принципиально не даётся, с программированием вероятно будут проблемы.

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

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

Однако, почему-то везде встречается именно этот вариант написания.

Даже вот:

Форум ВУЗ или самообразование! (2014)

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

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

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

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

вообщет алгебра это в том числе переход от конкретных количеств к именованным.

т.е решение через: Пусть x это .... в этом смысле есть алгебра.

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

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

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

Ну так ЕГЭшной школоты нынче полно, так что сейчас большинство обитателей интернетов безграмотны. Ты бы еще забор процитировал.

anonymous
()

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

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

рекурсия в лоб конечно затратней итерации , вместе с этим оба решения O(N) ,

если же 1*2...*n переписать как умножение некоторой(хе хе какой?) матрицы на себя то получим O(NlogN) с какой то константой С :)

qulinxao ★★☆
()

ТС, не переживай, сам Greg Kroah-Hartman был хирургом (если память не изменяет). :)

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

Но ведь тебе же не помогло...

Издеваешься? Он год назад вообще дикий был — слов не знал, только ASCII-картинками изъяснялся. А сейчас любому второкласснику фору даст.

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

Программирование - это, в первую очередь, логика

у женщин отсутствует логическое мышление

Есть мышление, а есть запоминание

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

И большую часть времени программист думает, а не вспоминает

о чем думает программист пишущий драйвер ?

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

о чем думает программист пишущий драйвер ?

Полагаю, о том, как структурно организовать код и какие алгоритмы и структуры данных из известных ему стоит применить в каждом конкретном случае.

Если, конечно, «драйвер» не заключается в тупой прослойке между абстрактным интерфейсом ядра и специфическим, но таким же, интерфейсом железки (т. е. на один запрос от ядра — один запрос к железке).

intelfx ★★★★★
()

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

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

Полагаю, о том, как структурно организовать код и какие алгоритмы и структуры данных из известных ему стоит применить в каждом конкретном случае

есть готовые классы устройств и они определяют структуру драйвера

Если, конечно, «драйвер» не заключается в тупой прослойке между абстрактным интерфейсом ядра и специфическим

ты не поверишь, но посмотри

ls /sys/class/

ls /sys/bus/

anonymous
()

программист-лингвист (структуральнейший лингвист из Стругацких, ага) — это прикольно. и может ближе к СутиПрограммирования(TM), чем чистые гоблины-технари (они так прикольно путаются, когда модели, с которыми приходится им работать оказываются, внезапно, сложными системами — а гуманитарии со сложными системами всю жисть работают, хотя бы качественно. грамотные гуманитарии и количественно, всякие мат. модели строят).

матаны подтянуть действительно надо, если ты «чистый ГСМ» (витрувианских универсальных человеков типа леонарды нонче маловато делают, и в ГСМ-щине по массе с образованием всё ещё более запущено, чем у гоблинов-технарей)

начинать, ИМХО, надо с философии. с практической её части: той, которая лежит на стыке с мат. логикой, теоремой Тарского об высказываемости истины, объектном языке и метаязыке, и вообще рассуждениями всяких там «Гёделя, Эшера, Баха» о формализуемости и пределах доказуемости.

можно ли изменить свое мышление в мышление программиста?

не знаю, что ты под этим понимаешь. начни с мат. логики и философии за 1-3 курс философ. фака (пропускай всё общечеловеческое и мировозренческое ГСМ-фуфло — ими только сократовых жён пугать. и ищи зёрна истины в направлении мат. логики, нечёткой логики, многозначных семантик Крипке и прочем.)

продолжи статьями Ершова про «программирование — это вторая грамотность», что он под этим понимал. а понимал он, ИМХО, алгоритмизацию. заполируй потом Колмогоровым из мат. логики до просветления.

способность строить алгоритм из нечётких, неполных данных из документации на фреймворки, записок на манжетах вместо технического задания (примерно так, как ГСМ-ы пытаются строить качественный анализ своих сложных систем, или структуральнейшие лингвисты пытаются понять качественно смысл текста, не имея полный перевод каждого надмозг-подстрочного термина)

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

в «программерском мышлении» этому соотвествуют идиомы, парадигмы программирования, паттерны проектирования в ООП, например.

так что мое мнение — программист-переводчик-лингвист-писака — это возможно, и может даже проще чем программист-прикладной математик или программист-физик.

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

бинарная логика такая бинарная. если ставить вопрос либо единичка либо нолик, и приходим к ad absurdum логическим парадоксам, то сама такая постановка вопроса намекает нам, что вопрос надо задавать другой. а логика должна быть троичной (man компьютер Сетунь на троичной логикой) — например, женская логика да/нет/не актуально\не имеет смысла\не интересно.

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

это уже почти настоящая, практическая философия — не как мировозрение ГСМ, а как более сложная мат. логика. вот они, на мой взгляд, вполне себе приличные люди, хоть и ГСМы — умеют сложную систему проанализировать качественно, затем количественно оценить — а это и в программировании пригодится.

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

ls /sys/bus/

или ls /proc/* или в Plan9 вообще over9000 всего этого.

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

хоть я ни разу не ГСМ, а вполне себе примат — просто в детстве компьютерной лингвистикой и обработкой естественнаго езыка интересовался.

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

у женщин отсутствует логическое мышление

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

и логика у них тоже другая, например из многозначных семантик Крипке, или троичная.

или Манин про женскую логику. или рассказы одного зануды про женскую логику.

например, те же ГСМы (из лингвистов, то ли социологов) пытались моделировать социальные процессы общения.

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

кажется, теория речевых актов. так вот, по характеру траффика выяснили, что стая птиц работает как интернет-хаб, например те же P2P или даже в простых случаях HTTP — демонстрирует аналогичное поведение.

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

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

ИМХО, как-то вот так вот.

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

вообще-то, «язык — это живое». мы же не пишем уже с ятями и ерами, хотя по ятям всю неграмотную школоту сразу было видно.

меняется езыг, меняются и нормы.

(man падонки и эрративы — эти просто стебались, а некоторые уже так и думают на новоязе... уже не смешно)

о покойном либо хорошо, либо никак.

сейчас с ЕГЭнутыми вообще всё очень запущено: требования снизили (резко так, до 1 балла, ага?) , и всё равно школота ниасиливает.

то что пишут безграмотно это полбеды. гораздо хуже, когда безграмотно думают.

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

Алгебра, как таковая, в программировании практически не применяется.

ну, если под алгеброй понимать какое-нибудь исчисление логики (например, приближение частично-рекурсивными функциями логических высказываний, силлогизмов) — то оно, программирование, всё только из неё и состоит.

алгебра многозначных логик, например. и с заворотом отсюда в теорию категорий.

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

начинать, ИМХО, надо с философии. с практической её части

в общем, начни хотя бы с учебника по логике за 19 век из царской России у фрицморгена — кажется, раньше его давали где-то во втором-третьем классе ЦПШ, думать учили самостоятельно.

и заполируй дискреткой с уклоном в Тарского и Гёделя-Эшера-Баха в пределы доказуемости .

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

И большую часть времени программист думает, а не вспоминает

о чем думает программист пишущий драйвер ?

снится ли программисту, что он пишет драйвер — или это драйверу снится, что он программирует программиста?

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

некоторые думают, что они думают.

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

ну, если под алгеброй понимать какое-нибудь исчисление логики (например, приближение частично-рекурсивными функциями логических высказываний, силлогизмов) — то оно, программирование, всё только из неё и состоит.

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

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