LINUX.ORG.RU
ФорумTalks

доколе!


11

1

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

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

А самое интересное то, что из этого линала нужно от силы две главы. Как и из матана. Про дискретку то же самое. Вместо изучения основных простейших алгоритмов начинается траханье мозгов дизъюнктивными формами и прочим. И в результате снова фэйл.

А причина проста - все эти советчики сами из всего линала только и знают эти самые две главы, и это в лучшем случае! А в основном у них представление об этом «слышал звон, да не знаю где он». На этом их представление что о линале, что о матане или дискретке заканчивается.

Но, млеа, надо же ощутить себя крутым программистом!

Выдохнул.

★★☆☆☆

Последнее исправление: dikiy (всего исправлений: 2)
Ответ на: комментарий от Eddy_Em

что у тебя перемещение по гипотенузе займет столько же времени, сколько по сумме катетов

если я прыгаю только с кубика на кубик через общую грань - да, сумму. количество прыжков = |delta_x| + |delta_y|.

никак с реальностью не коррелирует

если ты чего не знаешь, это не означает, что этого нет.

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

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

Если есть доказательство корректности, тестирование не нужно ни в каком виде.

все равно стоит прогнать на 2-3 вариантах входных данных, чтобы защититься хотя бы от банальных опечаток

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

оздание онлайн сервиса — это сложная или простая задача?

смотря какого, конечно.

только мы пока что наблюдаем наоборот. 'рост числа онлайн сервисов'.

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

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

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

если ты чего не знаешь, это не означает, что этого нет

А зачем тогда ты ходишь по прямой дороге, если по катетам — столько же? ;)

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

затем, что я-то хожу обычно в декартовом пространстве =)

а вот в/на манхеттене, например, как раз L_1: http://ru.wikipedia.org/wiki/Расстояние_городских_кварталов

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

Расстояние городских кварталов

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

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

именно так все и есть.

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

тогда ущербная декартова система станет больше не нужна

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

А может у всех будет автоматические компактные сверхбыстрые «вертолеты». Тогда будет расстояние, порождённое L_∞ нормой.

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

ну мы ж не про обучение в ВУЗе говорим.

dikiy ★★☆☆☆
() автор топика
Ответ на: комментарий от mentalmenza

ИМХО многие путают программирование и предметную область, в которой применяется программирование.

Совершенно верно. Одно но: практически любая предметная область более или менее серьезная потянет за собой математику, так как на компьютер можно переложитm только то, что можно вычислить. То есть какие-то алгоритмы, зависимости и прочее. В любой предметной области должна быть некая формула.

Остается теперь вопрос, кто должен владеть этой формулой - специалист по предметной области или программист? Специалист по предметной области может, конечто все расписать программисту, но этого обычно не происходит. Чаще всего специалист по предметной области и программист - это одно лицо. Или же специалист по предметной области выдает программисту свой теоретический труд в аналитическом виде и, улыбаясь, говорит: «Тут все написано». Ты смотришь, а там интегралы. Ты ему так: а как этот интеграл на компе посчитать? Что это вообще такое? А вот эти матрицы. Это же матрицы, магистр Йода? Как их перемножать? А что такое детерминант? :) гыгыгы.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от mentalmenza

Неспроста у нас на программировании в Бауманке на первых курсах на Фортране сплошные интегралы были. Да и потом мы все все делали сами. У нас специфика тогда была - управление техническими системами (УТС). Ну и стандартные вещи все делали: метод Рунге-Кутта, метод наискорейшего спуска и другая фигня. Наш препод про это все знает, но он старый и в компьютере ничего не понимает. Он не знает, как там интегралы и производные считать. А кто тогда должен знать? Полагаю, что программист. :)

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

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

в смысле «а ещё»?

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

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

математика как бэ язык практически любых теорий, не? на чем она еще должна строиться?

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

всё остальное это вообще другие предметы, i.e. теория графов и т.д.

http://www.wisdom.weizmann.ac.il/~dharel/algorithmics.html

Big O; Pseudocode; Stacks
Chapter 1 and p132-133 of Harel; Chapter 2 (Growth of Functions) of Cormen-Leiserson-Rivest

Queues; Lists; Insertion sort
p19-21 and 24-39 and 70-75 of Harel; Chapter 11.1 (Stacks and queues), 11.2 (Linked Lists) of Cormen-Leiserson-Rivest

Selection sort; Bubble sort; Mergesort; Quicksort
p21-24 and 85-87 of Harel; Chapter 1.3 (Designing algorithms), 8.1 (Description of quicksort), 8.2 (Performance of quicksort) of Cormen-Leiserson-Rivest

Counting sort; Radix sort; Binary trees; Heaps; Heapsort
p39-40 and 91-92 and 143-146 of Harel; Chapter 9.2 (Counting sort), 9.3 (Radix sort), 5.5 (Trees), 7.1 (Heaps), 7.2 (Maintaining the heap property), 7.3 (Building a heap), 7.4 (The heapsort algorithm) of Cormen-Leiserson-Rivest

Binary search trees; AVL trees
p40-43 and 133-136 of Harel; Chapter 13.1 (What is a binary search tree?), 13.2 (Querying a binary search tree), 13.3 (Insertion and deletion) of Cormen-Leiserson-Rivest; Tutorial on AVL trees

Hashing; Breadth- and depth-first search; Kosaraju's strongly connected components algorithm
Chapter 12 (Hash Tables), 23.2 (Breadth-first search), 23.3 (Depth-first search), 23.5 (Strongly connected components) of Cormen-Leiserson-Rivest

Dijkstra's shortest path algorithm; Bellman-Ford shortest path algorithm; Prim's and Kruskal's minimum spanning tree algorithms
p87-91 of Harel; Chapter 25.2 (Dijkstra's algorithm), 25.3 (The Bellman-Ford algorithm), 24 (Minimum Spanning Trees) of Cormen-Leiserson-Rivest
Sonsee
()
Ответ на: комментарий от Sonsee

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

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

дальше псевдо кода и производительности (ака сколько раз строчки выполняются) оно никуда не уходит.

даже то, что я перечислил, это все связанные с «сколько раз строчки выполняются» понятия.

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

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

ты путаешь вышку с программированием

читай ОП

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

вышку не заканчивал.

программист.

про эвристические и недетерминированные алгоритмы, а также при чем там теорвер и теория графов, знаю со школы.

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

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

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

Любой человек, в случае апокалипсиса, должен быть в состоянии восстановить цивилизацию

как минимум одну.

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

не обязательно, конечно. можно изучить пару конструкций C++ и считать себя программистом. тоже путь

То есть все что ты изучал - изучать программисту обязательно?

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

не обязательно, конечно. можно изучить пару конструкций C++ и считать себя программистом. тоже путь

То есть все что ты изучал - изучать программисту обязательно?

это ж надо было ТАК вольно интерпретировать мою фразу...

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