Comments 251
Приятная статистика!
С другой стороны, думаю, что если в статье слово Америка заменить на Россия, а имя Иверсон на Иван, то получится вполне статья об образовании в России: "У нас очень слабые стимулы и они не подталкивают преподавателей, и школы к оптимизации обучения. Все идет по накатанной: преподаватели учат по старинке, а ученики точно так же приобретают знания и навыки"
Можно быть программистом и ни разу не столкнуться с высшей математикой
Слабая математическая подготовка современных программистов является основным источником ненадежности программ и высоких затрат на тестирование и отладку.
В веб-деве за все годы я могу по пальцам пересчитать разы, когда мне реально нужна была математика (в моем понимании).
Проблема современной экономики в том, что тратить время на учебу не выгодно, так как польза, как бы она не была велика, в будующем и ее трудно оценить, а деньги нужны сейчас. Особенно это чувствуется в ИТ.
Корректность программы как правило доказывает компилятор. Для этого достаточно знать такие простые вещи, как контракты и статическая типизация.
Программа состоит из функций. Если каждая функция не нарушает своего контракта, то программа работает корректно. Это очевидно.
Ну так, контракты это часть языка, а разработчики языка априори более квалифицированные. Есть определенные касты, и каста "разработчики компиляторов", "разработчики ЯП" и тд как раз владеют всем этим инструментарием. Я тоже люблю во всем этом покопаться, но я — любитель, и они — профессионалы. И это их работа. А работа среднестатистического программиста не включает в себя формальную верификацию. Не, может я просто такой быдлокодер, и не в курсе, но вот у меня знакомые работают в яндексе, рамблере, майкрософте, сам я конечно не так крут, но тоже в нескольких разных местах не самых плохих поработал, и нигде я не встречал такую академичность в реальных проектах. На практике даже обновление пакетов приходится часто согласовывать, потому что нужно выделять ресурсы на исправления ошибок из-за ссылок на старые пакеты, ломающие изменения, и т.п. Код пишется для бизнеса (если мы не говорим про опен-сорс и пет-проекты на гитхабе), а бизнесу важно соотношение затрат на полученный результат. У проверки теоретической корректности программы (мы ведь говорим про реальные программные комплексы, репозитории в гигабайты и т.п.?) с этим проблемы. Вот во всяких компиляторах, системах типов и т.п., где нам важно качество любой ценой — хорошая область применения. Но не надо делать вид, что вокруг одни гвозди, когда в руках молоток, это иногда бывают и винты :)
Неочевидно. А как доказать отсутствие race condition, например? Может, функция и выполняет контракт, но ОС вызывает её в опасном контексте. Да и контракты описывают только самую простую логику — допустимость, но не корректность. Проблема же обычно в логике всё-таки. Да, эта функция возвращает неотрицательное число, но это не величина подоходного налога, которую я хотел.
Да и формутировка контрактов, что бы ее потом скормить пруверу, тоже требует хорошего знания формальной логики.
Львиная доля контрактов это "здесь не null", "a > b", "непустая строка" и все в таком духе. Для этого не надо каких-то особых пассов. Верифицировать же формально программу для всевозможных входных параметров обычно же остается уделом преподавателей и ученых в университетах, в прикладном бизнесе это время, а значит — деньги. Лучше мы наймем тестировщиков, чем будем аналитически доказывать корректность.
В общем, подытоживая: доказывать формальность более строгую, чем "a > b" не нужно для практически всех видов и типов программ, встречаемых в естественной среде обитания.
Это аргумент из разряда "Глупый разработчик криво скопипастил в последней строке". Однако, статистика тех же PVS Studio показывает, что вероятность такой ошибки не зависит от квалификации. Точно так же дорого не потому, что разработчики глупые и не учат математику, а потому что если есть способ с достаточным качеством иметь намного более дешевое решение, зачем нужно дорогое? Может вы и нейросетями не пользуетесь? Вероятностными алгоритами? Они ведь тоже дают решение с определенной точностью, хотя можно детерминированно всё посчитать.
Ну и да, можно долго говорить, что мало разработчиков, которые осилят формальную верификацию, но это факт, с которым нужно жить. И строить свои суждения из фактов, а не из "неплохо было бы, чтобы все это умели". Но это суждения из разряда "вот бы найти миллион на дороге". Неплохо было бы, но это не относится к реальности.
И как проверяется квалификация — есть данные об академических достидениях разработчиков проверенных проектов?
Как правило, умудренные сединами теоретические программисты пишут ужасные неподдерживаемые программы, несмотря на их познания в области теории. Есть не одна статья и тут, и в интернете в целом про впечатления от кода "академиков". В теории, теория и практика неотделимы. На практике, это не так.
Корректность программы как правило доказывает компилятор
В вашем мире невозможен необработанный NullReferenceException? Так себе правило.
В Rust — невозможен, если мы только явно не делаем unwrap(), но это ошибка встречается не чаще, чем в шарпе — InvalidCast. То есть почти всегда говорит о плохой квалификации разработчика, в отличие от NRE, который словить проще простого. В шарпе — in progress, так что в моем мире скоро тоже будет все отлично.
В Rust — невозможен
Так, то есть нужен особенный компилятор, C# не годится. Хорошо. Логические ошибки Rust-компилятор тоже валидирует?
То есть почти всегда говорит о плохой квалификации разработчика
Вам это не кажется демагогией? Сначала вы говорите, что корректность программы проверяет компилятор, теперь выясняется, что все зависит лишь от квалификации программиста. Собственно, речь изначально об этом и шла, что программист должен обладать квалификацией, чтобы эту самую корректность доказать.
Логические ошибки Rust-компилятор тоже валидирует?
Логическая ошибка может случиться только в случае нарушение контракта. Проблема может быть с выражением этого контракта, но как правило они достаточно простые, чтобы мы могли доверить это любому разработчику.
Так что демагогия в подмене понятия "корректность". Изначально речь шла о доказательном программировании, как было сказано ниже, а теперь мы пришли к "программист должен делать рабочую программу". С этим никто не спорил.
Что бы такого не получалось, эти строки надо заворачивать в отдельные типы. Но это почти ни кто не делает, потому что для проектирования системы типов требуется математическая подготовка.
Чем дальше, чем больше мы к этому приходим. Компиляция программы в С не говорит ни о чем. Компиляция программы в Rust/Haskell говорит много о чем. Можно почитать отзывы людей, которые с того же С перешли на эти языки. "Я удивлен, если программа скомпилировалась, то она скорее всего работает правильно" ©.
Если программа компилируется, но неправильно работает, значит есть какая-то метаинформация, которая не отображена средствами языка. Либо это недоработка самого языка (и такое отображение невозможно), либо просто ошибка программиста, который забивает винты молотком.
Хаскель достаточно алиеноподобный сам по себе, не считая того, что после императивщины функциональный подход многими с трудом воспринимается. А Rust недавно появился, но по динамике использования у него всё впереди. Это одно объяснение.
Другое, что большинство пишет сайты-однодневки на JS, где скорость протипирования важнее долгосрочной поддержки, а тут динамические языки имеют неоспоримое преимущество.
Третье — им просто не повезло.
Выбирайте любое из этих или придумайте своё. Без должной статистики это все равновероятные варианты.
Ну, на практике все равно приходится тратить время на описывание типов. В каком-нибудь JS можно просто вернуть объект и все. В строготипизированном нужно сначала описать, что за объект. В идеальном мире это делает компилятор. На практике, не особо пока что. Но я сам предпочитаю статическую типизацию и автокомплит :)
В остальных случаях — это гарантированный способ вылететь в трубу. Потому что ненадёжная программа работает лучше, чем ненаписанная.
Пока не потребуется доказать корректность своей программы.Вы про формальную верификацию? Ни разу не слышал, что она является частью нашей индустрии, всегда считал её такой чисто теоретической вещью, сродни машине Тьюринга. Или я не прав?
К сожалению, не является. Из-за недостаточной квалификации разработчиков, а не из-за отсутствия потребности.
Основные источники ненадежности
- бюджет и сроки — никто не платит и не дает времени на тестирование
- никто не платит за код ревью
- отсутствие навыка, внимательности и ответственности
А не слабая матподготовка
Так что я ставлю на первое.
Грубо говоря, только классический подход к теории вероятности, понимание, что «О-большое» — это «когда отбрасываем множитель и младшие члены» и тд. Этому и школьника научить можно.
Сложность подавляющего большинства алгоритмов можно описать через операции умножения, возведения в степень и взятия логарифма. Если мне не изменяет память, это все проходится в школьной программе
Тут простые эвристики же. Цикл от длины входного аргумента — умножай на n. Рекурсия — (количество рекурсивных вызовов)^n, и так далее. Ну и запомнить характеристики стандартных коллекция вроде списка, массива и хэш-таблицы. Никакой сложной математики.
Это все-равно, что говорить — «для того, чтобы драться на улице не нужно знать боевых искусств. Я вот сколько дерусь — ни разу еще не сталкнулся с необходимостью в этом.»
Ну да. Не столкнулись. Но никакого вывода из этого не следует. (В том числе и того, что чтобы драться — знать боевые исскуства надо:) )
Высшая математика — это не совсем, точнее, не только, прикладной интструмент.
Это, в определенном смысле, — способ мышления. Не связанный напрямую только, скажем, с программированием. Математика сама по себе — это лишь способ формального и адекватного описания объективной реальности. Не больше и не меньше. В итоге, это сказывается на всем, с чем потом соприкасается человек — на всех сферах его деятельности начиная от программирования и финансов и заканчивая покупкой картошки.
Математика, в частности, — это не про «посчитать» (про это «арифметика»). Математика — это образ мыслей, и в конечном итоге — образ жизни, независимо от сферы, где человек реализует себя.
В более общем смысле, математика — это просто часть того, что называют — «научным мышлением».
И практическая ценность сего в том, что с наличием и без оного — люди достигают совершенно различных успехов и решают задачи совершенно различного масштаба.
Для кого то успех в прграммировании — если при наведениии на надпись уже цвет фона меняется, а кому-то глобальные системы, обеспечивающие работу миллионами людей выглядят недостаточно эффективными.
Резюмируя:
В конце концов, можно быть «программистом» и не разу не столкнуться даже с программированием :)
Я полностью согласен с вашими утверждениями относительно математики и образа мышления, однако я не думаю, что высшая математика имеет к этому непосредственное отношение. В жизни (и в работе) иногда можно конечно столкнуться с разными областями вышмата, а можно и не столкнуться.
Есть разные предметные области, разные задачи и утверждать, что настоящие программисты только там, где вышмат — это слишком высокомерно
Я, признаться, хотел донести другую мысль. Основной тезис лишь в том, что если эта связь есть — то просто возможен другой уровень решаемых прикладных задач. И математика здесь сама по себе не стоит особняком, т.к. это касается и финансов, физики, химии, биологии… да вообще любой точной науки.
И кстати, говоря, программисты, которые решают именно научные задачи, с точки зрения «профессионального кодера»(ну там паттерны, языки, TDD, OOП и всё это), по стилю, могут часто выглядеть ну форменными «джуниорами».
А сама по себе, высшая математика, имеет непосредственное отношение только к тому, что называется «научное мышление». Но с задачай формирования такого мышления вполне успешно справляется и множество других наук, поскольку принципы, так сложилось, практически одинаковые.
С тем, что напрямую, столкнуться с наукой, если ты не ученый, в обычной жизни шансы действительно не вилики, сложно спорить. Но то, что принципы научного мировоззрения будут уже неизбежно(и даже непонятно хорошо это или плохо) сопровождать всю жизнь — от этого трудно уже куда-то деться.
Это все-равно, что говорить — «для того, чтобы драться на улице не нужно знать боевых искусств.»
Аналогии такие аналогии…
Строго говоря для УЧАСТИЯ в уличной драке знаний вообще никаких не надо.
Более того, для того, чтобы побеждать в уличных драках, знать БИ тоже необязательно.
— Способность быстро бегать незаменима во многих «уличных» ситуациях.
— Разница в весе даже в 10кг — это большое преимущество, если противники примерно одинакового уровня подготовки.
— Дубинка или нож в руках человека, который не первый день инструмент в руки взял, это огромное преимущество. Если первый — то просто большое.
— Красивые приемы с отбиранием ножа/пистолета могут сработать только в случае, если оппонент не умеет с ними обращаться.
— Два четырнадцатилетних пацана могут «победить» взрослого мастера самбо(или чего там, ссылку на статью не сохранил), особенно если второй подойдет сзади и
— Больно/страшно получать по: голове, глазам, яйцам, под коленную чашечку, в солнечное сплетение.
… и т.д.
Собственно, многие БИ (исключая крав-мага и прочие, «взятые на вооружение» и нацеленные именно на быструю нейтрализацию) не дадут никаких преимуществ, кроме ОФП и поставленного удара, поскольку практически все они устанавливают правила, которые не действуют на улице. Более того многие БИ запрещают наиболее эффективные приемы вроде ударов локтями, ударов в паховую область и тычки пальцами в глаза.
P.S.: По поводу матана особых возражений нет.
поскольку практически все они устанавливают правила, которые не действуют на улице.
Напомнило цитату из Пратчетта
«Маркизу Пышнохвосту в юности не раз приходилось участвовать в драках, причиной многих из которых было прежде всего то, что его звали маркизом Пышнохвостом. Поэтому он разработал ряд правил, которые назвал «Икусством Благородного Кулачного Боя» и которые в основном состояли из списка мест, по которым его, маркиза, запрещалось бить. На многих людей этот труд произвел большое впечатление. Изучив правила, они выступали, благородно выпятив грудь и сжав кулаки в состоянии мужественной агрессивности, против людей, которые не читали книгу маркиза, зато прекрасно знали, как вырубить человека, ударив его по голове, допустим, стулом. В результате чего последними словами ну очень многих людей стали: «Чтоб этот чертов Пышнохвост сдох, скотина…»»
P.S.: По поводу матана особых возражений нет.
А если найду?
Если оппонент таки отвечает на вопрос одним из предложенных вариантов, то на основании того, что «карманники не спрашивают разрешения, а берут самостоятельно» (ксивы у вопрошающего скорее всего нет, да и вряд ли он выберет именно этот вариант) => можно уличить во лжи и попросить компенсации.
Скорее всего спросивший не будет отвечать на этот вопрос, а попытается перевести разговор на другую тему. Есть шанс, что вам попался беспредельщик/пьяный и просто ищет, до чего докопаться — в этом случае драки избежать вряд ли выйдет.
В моем опыте был один интересный случай подката на подраться/отобрать, когда первой фразой в беседе было «ТЫ КОГО НА Х… ПОСЛАЛ?». К счастью, я смог удержаться и не выпалить вертевшееся на языке «тебя». В противном случае огреб бы без вариантов.
П.С.: Детство не особо тяжелое, просто «благополучных» районов в родном городе в то время почти и не было.
1) Мое личное знакомство с этой культурой весьма поверхностно и ограничивается детством/юношеством. Я не принимал большого участия в жизни района/двора, а от таких невинных детских забав как «пошли пинать бомжей» или «давай залезем в хату к Х, предварительно разбив окно — все равно сейчас пустует, а впрягаться за него никто не будет» держался подальше.
2) Не подходит по тематике на Хабр/ГТ.
3) Дневников я не вел. Так, иногда что-то в памяти всплывает — вряд ли получится что-то связное.
Оговорюсь сразу, что речь про детские стрелки по пустяковым причинам, а не про взрослые разборки с ножами/цепями/огнестрелом.
Многие проблемы решаются дипломатическим путем(кто кому что обещал и кто кому должен остался), а в некоторых случаях теория шести рукопожатий вносит коррективы, когда с разных районов народ приезжает на стрелку, а в итоге оказывается, что треть «бойцов» друг друга знает и бить знакомые рожи как-то неохота — зачинщики стараются найти компромисс.
Действительно страшно было только один раз, когда разведка показала, что пришедших «с той стороны» было раза в три больше нашей группы — окромя парламентерской делегации в двух соседних дворах ВСЕ лавки были заняты подозрительного вида молодыми людьми в спортивных штанах.
если он лет 10 отпахал в секции Дзю-До или Самбо или Бокса
Или 10 лет занимался толканием ядра или 10 лет только тем и занимался по вечерам, что дрался по подворотням.
Именно это и имелось в виду под «кроме ОФП и поставленного удара».
Изначально речь шла о том, что занятие каким-то определенным БИ необязательно для того, чтобы побить большинство хулиганов в своей округе 1 на 1, а если все эти хулиганы собрались и вознамерились Вам навешать, то и 20 лет стажа в БИ не поможет.
Еще раз для ясности:
1) Иметь за плечами 5 лет опыта в БИ лучше, чем не иметь никакого опыта.
2) Чтобы угомонить человека вовсе необязательно знать БИ, достаточно иметь представление о том, где у человека выключатель и иметь необходимую силу/реакцию, чтобы на него надавить, не дав при этом надавить на свой.
3) Черный пояс и 15 лет стажа — не гарантия победы на улице даже 1 на 1 — никто не объявляет начало спарринга и не просит отступить друг от друга на позиции.
Из своего детства обратный пример то ли первой, то ли второй драки:
Драка «дружеская» (не помню, что не поделили), 1 на 1, вес примерно одинаковый.
Дважды положил соперника на лопатки, встал(сел?) в позу наездника (пятая точка на груди, плечи оппонента зафиксированы между стопой и коленом), а что дальше делать — непонятно.
На тренировках только до этого момента и доходили, дальше спарринг считался «выигранным», если оппонент не может тебя сбросить.
В общем-то предполагалось, что в этой позе ты можешь невозбранно лупить противника по лицу руками до его полной отключки, вот только:
а) на тренировках полные удары по лицу никогда не наносились, использовались только показательные, обозначающие касание
б) я оказался морально не готов лупить беззащитного человека по морде, даже несмотря на то, что он успел пару раз ощутимо засветить мне в челюсть и разбить губу
В общем когда он полез в третий раз его просто оттащили зрители и сказали пойти домой и успокоиться.
Вот не надо путать научный подход и математику. Какая математика в литературоведении, скажем?
Тут уже писалось о том, что знание математики (алгебры, геометрии, матана, ...) влияет на образ мышления. И вот те, кому все это не надо — кодеры. Это не программисты. Я сейчас рискую убить и без того свою низкую карму, но это не программисты, это кодеры.
Вот вам пример — есть видео фрейм, его надо разрезать по пакетам, потому что MTU. Дан максимальный размер пакета и надо сделать как можно меньше пакетов. При всем при этом хочется сделать пакеты максимально одинаковые (формально — максимальный пакет должен быть как можно меньше). Сам ферейм состоит из кучи мелких кусочков. Для возможности деокдирования при потерях, эти кусочки нельзя резать между пакетами. Переставлять ничего тоже нельзя.
"Сеньёр", не знакомый с математикой, запилил какой-то аццкий перебор, при чем для него было нагорожено несколько классов решателей и для представления промежуточного результата. Это отдельный файл на 300+ строк кода.
Нормальное же решение динамическим программированием, во первых, работает на порядки быстрее, во вторых занимает 10 строк кода с комментариями.
Всякие контуры обратной связи для выправления кривого rate-control в аппаратных кодеках. Это теория управления. Матан там и все такое. Конечно, можно каких-нибудь костылей накрутить, но чтоб вывести простую и, главное, доказанно работающую формулу, нужна математика.
Опять про пакеты и структуры данных. Буфер, который выдает пакеты по таймауту или при получении подряд идущих кусков.
Аудио процессинг для детекции и удаления эха.
- Синхронизация часов на разных хостах.
Вы же не думаете, что всё программирование в мире связано с аудио и видео кодеками? Там математика нужна, в другой области не нужна.
Тут спрашивали примеры из обычной практики, я их привел из своей. Много где возникают задачи и посложнее. Кто-то же должен делать базы данных, распределенные хранилища данных, те самые библиотеки, в конце концов.
Да, математика нужна не абсолютно всем. Кто-то всю жизнь и без нее обходится, но обратное утверждение, "математика не нужна" — еще дальше от истины.
Спор пошел после черно-белого утверждения, что всем программистам нужна математика, а если не знаешь математику — ты всего лишь кодер. Никто не спорит, что каким-то программистам в довольно узких областях математика нужна.
Я профессионально пишу именно базы данных, хранилища и библиотеки. Математика бывает нужна раз в несколько месяцев. Тогда я обращаюсь к своим друзьям — математикам, за пять минут получаю ответ, потому что для них это смешные задачи, и иду дальше "кодить".
Какая математика в 2 и 4?
Никакой причино-следственной связи между векторными пространствами и решениями сеньоров нет. Корреляция есть, в связи с традициями нашего (да наверное не только нашего) образования. Связи нет.
Не имея нужного бекграунда правильное решение очень тяжело найти. Скорее всего будет 100500 костылей и велосипедов.
А имея нужный бекграунд можно им не пользоваться. Но это другая история.
Чувак может иметь отличный математический бекграунд, но будет генерировать реализацию SQL-скриптом на фронтенде JS-ом (были прецеденты). Бекграунд в одной сфере, в данном случае — математике, не спасает от провала в другой, а знать все не дано пока что никому.
В большой учётной системе есть таблица инвойсов, в которой есть колонки Amount и TaxAmount,
Amount — Полученная по инвойсу сумма, в рублях,
TaxAmount — уплаченная сумма налога.
Известно, что компания платит налог только по двум ставкам: 18% и 10%.
Поля, описывающего ставку налога по каждому конкретному инвойсу, нет.
Надо просто решить систему уравнений
{ Am18 + Am10 == Amount;
Am18 * 0.18 + Am10 * 0.1 == TaxAmount }
.
Ох уж это снобское деление на кодеров и Программистов.
И да, как же часто срабатывает… Значительное количество хороших переводчиков практически не знали языка, с которого переводили. При этом бОльшая часть людей, которые прекрасно знают «заграничный язык» — никудышние переводчики. (сам такой — английский знаю неплохо, говорю на нем с акцентом, который англичане относят ко вполне конкретной области чуть на северо-восток от Лондона. Но вот как переводчик… Тяну на середнячка, если есть возможность прочитать и отредактировать «перевод» через пару недель.)
Я сейчас скажу крамольную мысль. Приготовьте тапки, чтобы меня закидывать.
Программист не должен знать фреймворков, языков программирования, особенностей реализации выделения и освобождения памяти в GNU под Debian.
Программист должен знать как из исходных данных получить результат. Для оформления ввода исходных данных есть дизайнер интерфейсов. Для реализации преобразования данных в результат с использованием фреймворков — есть кодер. Для представления результатов в интерфейсе пользователя — снова дизайнер интерфейсов.
Я бы не стал писать слово «прогараммист» с большой буквы. Хорошо хоть, что ребят, которые по офисам витую пару тянут, перестали называть программистами…
Просто это разные специальности и специализации. Программист может изучить язык программирования и фреймворк и на пол ставки быть кодером. (Почти всем программистам приходится изучить хотябы один живой язык программирования. Даже я вполне сносно кодил на паскале и пользовался фреймворком, который тогда назывался «библиотека функций».) И у любого кодера есть шанс стать программистом, если он сумеет абстрагироваться от округлостей JS и прочих питонов.
И да, программистов в наше время стало принято называть модным словом «архитектор». Что, как ни странно, примерно соответствует. Мне сейчас все равно, что «программировать». Дизель-генератор, ЦОД Tier IV или CRM.
Хм, это серьёзно всё?)
Почему же тогда все современные достижения человечества в том числе и в сфере IT возникают именно в США и европе, а не у нас?) Честно, я никогда особо не верил в то, что в России есть много хороших программистов. Где я ошибаюсь?
И это ключевое.
Они создают качественные продукты везде: в розничной торговле, в финансах, в IT, в логистике, и прочее-прочее. Даже спорт у них это наивысшего качества продукт (NBA, NFL, NHL, USA Swimming Team).
Это же касается и индустрии развлечений: Голливуд, телеперадчи, шоу, сериалы, политические выборы с дебатами — все началось из США.
Еще можно посмотреть на то как NASA освещает свои проекты, как они подают научные миссии (куча веб-сайтов, аккаунтов в соц сетях, спец проекты, школьные конкурсы, конкурсы студентов, фантастический музей) — абсолютно немыслимый уровень качества создания продукта и его освещения даже в такой консервативной среде как космические агенства.
Другой вопрос «почему?» Почему именно в США научились массово создавать крутейшие продукты? Не претендую на истину но думаю что иммигрантские корни и отсутствия «традиций» это именно то, что дало необходимый импульс. Условно говоря когда в США понимают что некий процесс или функция причиняет неудобство, то не упирают на «такие традиции» и «так надо». В Америке не приучены терпеть неудобное, они привыкли это исправлять.
Плюс там заложена культура «даже тупому глухому и слепому должно быть понятно и удобно».
Отчасти по этой же причине и в современной Азии такой бум технологий и продуктов: там тоже (почти) нет стран упирающих на свою идентичность и азиаты просто как губка все впитывают и переосмысливают.
Ты правда думаешь что при нашей системе, где в преподы идут те, кто не смог стать профессионалом ситуация лучше?
Я считаю, что дело скорее в узкой спецухе американского обучения. Их программисты комнатные и никуда не спешащие, в то время как местно-китайские живут в постоянной конфронтацией с кучами неадеквата и тд.
Короче, в сторону личного опыта и стрессоустойчивости.
Честно, я никогда особо не верил в то, что в России есть много хороших программистов. Где я ошибаюсь?
Наверное вы ошибаетесь в слове «много». Для участия в конкурсах «много» не надо. Хотя уровень программистов в России и высокий в любом случае.
Потому что для каких-то достижений мало таланта и знаний, нужны условия. Когда любой успешный бизнес с большой вероятностью будет отжат силовиками или просто задушен толпой контролеров, как-то не реализовать ничего дельного.
Вот талантливые ребята потом и уезжают из России. Тем более, что программистам это сделать, наверно, проще всех остальных категорий Россиян. Зарплаты на западе выше, уровень жизни тоже, цена жизни много где дешевле той же Москвы.
Не смотря на то что его ответы в классе и решения домашних заданий были почти всегда верными, преподаватель не признавал их таковыми.
Может, конечно, за 10 лет что-то изменилось, но в российской школе это (была) совершенно нормально ситуация. Решено верно, но неверно «оформлено» — оценка снижается.
Инвестиции в образование, что-то мне подсказывает, у них побольше (в абсолютном отношении), чем в России.
Вероятно, дело в чём-то другом.
Возможно все-таки дело в целеустремленности русских людей. Ведь за доказательствами далеко ходить не надо, например: М. В. Ломоносовым
Однако вкладывать деньги в образование все-таки нужно.
Это как говорят "Вот раньше у людей не было %что-то% и жили нормально%". Но, извините, тогда и жили в разы меньше и смертность была выше.
Так и тут. Пока остальные страны будут заниматься образованием, а не заставлять людей, увлечённых наукой, совершать странные подвиги, наша страна так и будет отправлять всех без разбору в армию и готовить к тупому ЕГЭ (в частности, по информатике составляют и проверяют ЕГЭ люди, в компетенции которых можно усомниться)
по информатике составляют и проверяют ЕГЭ люди, в компетенции которых можно усомнитьсяВы не правы.
По крайней мере часть заданий из ЕГЭ по информатике придумывают те же самые люди, которые преподают программирование в топовых московских матшколах, ведут кружки по олимпиадному программированию и тренируют команды школьников, которые потом берут первые места как в личных, так и в командных всероссийских олимпиадах. Часть из этих школьников участвует в IOI, и очень многие в студенческие годы — в ACM.
Можно доказательство?
Ну и я просто знаком с ней лично, точно знаю, что она тренирует команды СУНЦ МГУ, участвует в подготовке сборной Москвы к всероссийской олимпиаде, периодически участвует в подготовке наших команд к IOI. Ну, по крайней мере несколько лет назад так было. Все то же самое относится к Кириенко Д.П., с той лишь разницей, что он преподает в школе #179. Думаю, пруфом личного знакомства с людьми, которые тренируют команды, могут быть мои результаты на олимпиадах в 11 классе: 2 место и чемпион России в составе команды СУНЦ МГУ 2, 5 место в личном зачете в составе сборной Москвы.
Скорее уж в полном нигилизме. К нас правила для того, чтобы нарушать, а в штатах, чтобы соблюдать. В итоге при одинаковой муштре делать так как надо у нас талантливые все равно делают так как хотят, а в штатах, видимо, со временем личное мнение (особый подход) теряется.
Возможно все-таки дело в целеустремленности русских людей.
В целеустремленности? Не, ну я все понимаю, но в целеустремленных людях в США проблем никогда не было. Начиная с основателей, типа Вашингтона и Франклина, заканчивая теми же Джобсом, Маском и т.п. Про Форда, братьев Макдональдов, Белла и говорить не стоит — результаты их целеустремленности и одержимости каждый из нас может легко найти вокруг себя.
А «вычислителей в уме» они вообще ненавидят, потому что «этим ты не показываешь своё понимания предмета» (они как зазубрили эту фразу). И с одной стороны они правы, т.к. их задача научить. Но с другой стороны, если все ответы верны, и ученик способен показать один раз способ решения, то тут имеет смысл проявить гибкость, ведь навык решать задачи быстро в уме действительно полезен в жизни.
Всё зависит от учителя и его увлечённости в процессе. В моей жизни было три запоминающихся примера.
Первый в школе, учитель физики. В классе был человек который ну ни в зуб ногой в этот предмет, но списывать умел виртуозно. Но что она сама говорила — если человек списал, это упущение учителя и не повод снижать оценки. Ну прочие мелочи которые очень располагали (чего стоят "физические баталии", дружное исполнение "вихри индукции веют над нами, силы Ампера нас грозно гнетут..."). При этом, к старшим классам она же мне начала снижать отметки за оформление, но сразу объяснила: олимпиады и экзамены буду принимать/проверять не только я, и ты должен сделать всё без сучка и задоринки. Я же летом на практике потом в лаборатории занимался ремонтом приборов, а не мёл дворы за часы ОППТ :)
Второй тоже в школе, учитель математики (алгебра, геометрия). Раньше преподавала вышку, потом замуж за военного и в наш ЗАТО. Она практиковала снижение отметок за оформление причём с таким же обоснованием. Плюс могла согласиться с любым способом решения, если ты его обоснуешь (по сути — докажешь, что если и списал, то понял, что там делается вообще). Кроме этого, можно было попросить не ставить отметку и прийти на пересдачу.
Третий — в универе. Там был однокашник, который как и вы, достаточно сложные примеры просто видел и решал в уме. Правда по просьбе преподавателя мог и расписать ход решения. После чего она не имела никаких претензий к нему по поводу готовых ответов :)
Но это элементы везения. Много людей делают своё дело спустя рукава. К сожалению, это относится далеко не только к учителям.
Мне такие попадались крайне редко ( но одна из них чуть не отбила интерес к математике, а вторая — чуть не отвратила от изучения иностранного языка — к счастью, первую сменили, а от второй я вернулся в предыдущую подгруппу через большой скандал на уровне педсовета)
А вот в нынешней школе такие учителя — это скорее правило, чем исключение… вся физика состоит из формул, математика — из решений примеров к ЕГЭ, химия — из «опасных опытов, которых лучше не проводить»…
Помню, было дело))) Решил задачку в уме, сказал ответ. "Неверно, выходи к доске". Куча формул — а ответ совпал с моим)
но это были «другие времена»
2) Нужны деньги на дорогу и проживание на момент поступления, плюс отпуск/отгулы кому-то из родителей. Да и потом ездить домой на каникулы, наверное, тоже за свой счёт. Мои родители самый обычный рабочий класс — водитель и швея, мы всего один раз выбирались в Питер по музеям походить, а всё остальное детство я провёл в деревне.
2. Ну а как все остальные учатся? Большинство учащихся, по крайней мере у нас, были из таких же простых семей, и вообще никто и никогда не жаловался на то, что дорого.
2. Это потому что те, кому было дорого, там не учились.
Само обучение — бесплатное, но нужно оплачивать проживание в общежитии. Когда я учился (2008-2010) это вроде было 1500 руб в месяц. Для малоимущих есть льготы, но тут тонкостей не знаю.
Сдача экзаменов бесплатная (и, я так понимаю, что проживание в СУНЦ на время сдачи второго тура — тоже), экзамены первого тура принимаются в 40 городах по всей стране.
Получается, что единственная потенциально крупная статья расходов — это перелет дом-школа в начале и конце каникул для тех, кто далеко живет. Но далеко живущие могут выбрать другой СУНЦ, скажем, НГУ.
Что-то сомнительно… насколько я помню у них с получением гражданства — не очень… как они будут заманивать?
Что только говорит, что американские студенты находят другое занятие уже после школы, а многие еще и во время школы похоже.
Если же взять годы с 2000 по 2014, то картина четкая.
Американцы становятся их (не менее замечательными)
Самое важное, вкладывать деньги в образование.
Вкладывать деньги — не самое главное. Нас, на излете СССР, программировать по-началу учили вообще без компьютеров. На бумажечке. В школе писали программки без каких-либо компьютеров. На «алгоритмическом языке»… Потом в институте были лабораторные 2 часа в неделю на MSX'ах, что было уже весьма круто. Что интересно, почти пол курса так или иначе в Штаты уехали в 1993-1995-м, программистами работать. Хотя некоторые, хоть тоже уехали, преподавали (и некоторые до сих пор преподают) «там» математику в университетах…
Это я все к чему? Пока явно наблюдается обратная зависимость уровня образования и таланта программистов от уровня инвестиций в образование.
Просто после того, как вдруг «уместил» три трехмерных матрицы 64х64х64 «float» в неполных 64 килобайта имеющейся в наичии памяти… Когда попадаешь на мегабайт памяти — sky is a limit.
И тут именно идея не в том, чтобы оптимизировать алгоритм и структуру данных, а в том, чтобы сделать новый алгоритм, который дает то же самое на выходе, но быстрее и с меньшими затратами памяти. А уж если там из этого компилятор дополнительно что-то наоптимизирует — так это только бонус.
Вложение денег — это, возможно, какие-то внешние преподаватели.
Одними деньгами проблему не решить, но облегчить решение проблемы они могут очень сильно. Но первично — цель, и желание ее достигнуть…
зы. можно чуть подробнее намекнуть про «уместил»? :-)
вложение денег — это еще и отбор преподов (хотя бы до уровня)
Были плохие преподаватели с низкими окладами, а станут плохие преподаватели с высокими окладами.
- Кто будет проводить отбор?
- Кого будут отбирать: преподавателя с офигенным опытом или выпускника без опыта?
Чтобы была возможность выбирать, сначала нужно перенасытить рынок высококлассными кадрами. Но кто нам будет их ковать?
Это очень масштабный проект и лучший способ его провалить — просто дать деньги.
деньги не гарантируют качества (то, что получилось у нас с полицией и военными), но позволяют улучшить. Отсутствие денег скорее приведет к ухудшению, чем даже стабилизирует. доказано, в общем, 90-ми. и до сих пор ощущаются последствия тех лет, когда кассирка в магазинчике зарабатывала втрое больше учительницы и заявляла: «я теперь хотя бы знаю, что детей хоть плохо, но накормлю».
перечертил клавиатуру на двойной лист в клетку и по нему дома набирал код на Бейсике.
Извините за мою убогую фантазию, но это как???? Как на бумажной клавиатуре набирать код???
Мне кажется тут имелось в виду "набирать" код на клаве для тренировки навыка печати и кодинга, а потом переписывать из "мысленного экрана" на бумагу обычной ручкой.
P.S. Не помню такой клавы у спектрума, насколько помню писал программы вполне обычно в текстовом редакторе просто набирая текст.
А я вот как раз не видел ни разу спектрум с обычно клавиатурой. Да и команды как текст даже не хранились, хранились в виде байта, нельзя было набрать полкоманды.
Хм… может я что-то путаю, но вроде на спектруме тоже так было… Точно помню, что zs scorpion умел два бейсика — стандартный спектрумовский (и там по кнопке вводилось всё слово-команда) и какой-то понтовый-расширенный свой (вот там был обычный текстовый ввод)
Тем не менее, математическое образование важно, и в массовой школе в США оно долго отставало от советского/российского. Так как качество образования проявляется с задержкой, эта разница до сих пор видна. В элитных школах оно было на высоком уровне, но сейчас этого уже не достаточно.
Если говорить про школьное образование, то у нас творится полный бардак. Большинство выпускаемых школьников едва ли готовы к жизни, среднестатистические общеобразовательные школы вообще не могут подготовить качественных абитуриентов, только профильные школы и лицеи, а также же дополнительные репетиторские занятия (я вообще не знаю, сейчас вообще есть дети, которые не занимаются с репетитором?).
В универах бардак еще больший. Система бакалавр-магистр, как я понимаю, помимо дипломов и возможности свалить заграницу после 4 курса, должна была сместить фундаментальные науки с первых курсов к магистратуре. И это логично, потому что первые курсы людям преподают окрестности точки эпсилон и прочую малопонятную чушь (именно так кажется на тот момент), а когда дело доходит до специальности, курсе на 4-5, людям уже на это пофиг, половина просто работает и на пары не ходит. В итоге получаем специалистов (а сейчас — бакалавров и магистров), которые, по факту, специальность пробили, а вышмат уже не помнят. А когда их вдруг заносит в области с математикой (аналитика, гейм-дев, научные расчеты и прочее), то знания все равно приходится обновлять и вспоминать. То есть не может человек после вуза начать работать в полную силу, его там просто этому не научили. На собственном опыте приема кадров в наш отдел могу сказать, что лучше брать студента курса 4-5 и натаскивать их за относительно маленькие деньги, к выпуску будут уже крутые спецы, чем брать выпускников, которые, по факту, на уровне тех же студентов 4-5 курса, но бабла хотят в 3 раза больше.
Крутые российские вузы круты не потому, что там круто преподают (это, как раз, для крутых вузов скорее редкость), а потому что в целом выборка студентов по интеллектуальным способностям там на две головы выше средних студентов других вузов. Никаких оптимизаций, никакого логичного процесса обучения, никаких интересных проектов, курсовых и прочего за время обучения обычно нет. Да, если вертеться во всей этой кухне, можно примкнуть к кружку робототехники или радиоэлектроников, но так делает 1 человек из группы.
Но а самая большая жопа в том, что российские вузы как-то не заинтересованы в разработках. Все ждут заказа от Роснефти, Газпрома и прочих крупных компаний, которым просто по долгу службы нужно всякие НИОКРы спускать в универы. Причем, в результатах работ никто не заинтересован, поэтому заполняются формальные документы, выполняются формальные работы, происходит обмен денег и на этом все.
С другой стороны, возьмите американские вузы. Может быть, они не решают задачи быстрее всех на олимпиадах, но просто тысячи разработок из американских вузов в последующем становятся нашей окружающей действительностью. Есть идеи, работы, зарплаты, инвесторы, патенты и желание получить готовых работающий продукт. У нас всего это нет (или почти нет), поэтому заниматься наукой и разработкой в отечественных вузах просто нет смысла. Поэтому, в общем-то, все эти наши олимпиадники через 5-10 лет окажутся в штатах.
Из крутого, что сейчас есть у нас — это понимание больших компаний, что вузы бесполезны в том формате, в котором они есть. Поэтому появляются всякие ШАД, Технопарки и прочие обучающие школы. Но минус в том, что их крайне мало, они локализованы, как правило, в Москве, туда высокий конкурс. Ну и понятно, что большие компании учат столько людей, сколько нужно именно им. Обучать будущих специалистов Гугл им как-то не с руки (хотя так, конечно, зачастую и получается).
1. Религиозная, гуманитарная и спортивная составляющая, библейский пояс.
Учат креационизму, бейсболу, получают дипломы по иглоукалыванию, латыни.
2. Крупные научные центры, где таланты вполне могут получить бесплатное образование и приехать из Китая, Индии.
Морлоки и Элои.
А можно какую-то более широкую выборку по олимпиадам, а то даже название забыли указать. Чем объяснить призовые места польских и корейских команд, у которых система образования вряд ли похожа на российскую?
По опыту своего (зарубежного) вуза: олимпиада — это частная деятельность, своего рода клуб по интересам по типу шахмат или танцев. Надо иметь большую любовь к именно такого рода занятию, чтобы тратить на него массу времени и сил. Кроме того, требуются выезды на соревнования, приглашённые лекторы и т.п., что университетом, в принципе, может спонсироваться, но не слишком щедро — это же не научная и не учебная работа.
Тут скорее возникает вопрос, почему польскому/российскому/китайскому студенту такой вот своеобразный киберспорт интереснее своей непосредственной специальности: ведь ясно, что чудес не бывает, и время, потраченное на прокачку навыка решения задачек на время, отнято у какой-то другой деятельности. И тут у меня довольно грустное наблюдение: в спорт (любой) часто в принципе идут люди из не самых благополучных страт общества, потому что для них это социальный лифт. Сегодня ты один из миллиона беззвестных китайских студентов, а завтра ты чемпион мира, и тебя берут в любой фейсбук/гугл. А студенту MIT этот путь попросту неинтересен, да и связан с высоким риском неудачи, студент MIT и так в жизни не пропадёт.
И вот традиция «спецшкол» с подобными кружками — она действительно довольно характерно «российская», хотя и медленно умирающая, к сожалению.
Разумеется когда опыт этих школ пытаются обобщить на индустрию и страну и заявить что в России какая-то особо хорошо подходящая образовательная среда для программистов выпускающая особенно хороших специалистов, то получается и грустно и смешно. Этих олимпиадников в буквальном смысле единицы и погоды они, увы, не делают. Подавляющее же большинство российских соискателей работы программиста, к сожалению, серая и малообразованная масса. Не могу с другими странами сравнить количественно (вероятно серости хватает и там), но качественно прекрасных специалистов я там встречал много и плодами их работы пользуюсь куда чаще чем плодами работы российских. Если же посмотреть на научные работы сделанные студентами в ВУЗах, то сравнение очень явно будет не в пользу российских образовательных учреждений.
Интересно, а как же программисты из Индии?.. У них так же сильная школа математики или я ошибаюсь?!
Официальный сайт https://icpc.baylor.edu
Записи прямых трансляций http://icpclive.com
Также как победа России на олимпиаде в Сочи не означает, что у нас тут все спортсмены.
Что касается спора о необходимости знания высшей математики для программиста — тут все правы. Есть области, где она нужна (ML, сложные алгоритмы). Есть области, где нет (сайты, простое не научное ПО). Причем, вторых на рынке гораздо больше (99%?).
Можно изначально сказать себе, что я не хочу лезть в науку, хочу делать простые вещи, но качественно. Тогда можно ОЧЕНЬ сильно сэкономить своего времени, выкинув математику, но добавив более качественное изучение фреймворков.
Увы.
Вот вы знаете про хоккей с мячом, например? А кто из нас всерьез смотрит его соревнования?
Ну вот, скорее всего, в США для студентов все эти Олимпиады по программированию — примерно такой же «хоккей с мячом», странное маргинальное мероприятие, на котором побеждают русские и какие-нибудь эстонцы, и очень этим фактом гордятся.
То есть в соревновании надо смотреть, хочет ли побеждать твой соперник, и что за команду он выставляет. Если эти «русские программисты» соревнуются с хоббийной командой кружка программирования колледжа, то нет тут особой гордости, как мне кажется.
Я бы скорее смотрел на то, куда и как трудоустраиваются эти самые «победители Олимпиад по программированию» и «непобедители», и какой у них уровень зарплат через, например, 10 лет. Это бы показало, является ли Олимпиада «карьерным лифтом», или просто генератором пожелтевших грамот в столе.
Так что я уверен, что большая часть олимпиадников трудоустраиваются замечательно.
Если эти «русские программисты» соревнуются с хоббийной командой кружка программирования колледжа, то нет тут особой гордости, как мне кажется.
А реально ситуация как обстоит в среднем по больничке? Те кто приходит на олимпиады в мире это вариант "толкиенистов от компьютера" или это именно что "начинающие спортсмены" или карьеристы?
Ну и ребят из-за рубежа, по крайней мере топовых, это тоже касается — скажем, они приезжали к нам на Petrozavodsk summer training camp. Мне кажется, тот, кто занимается этим не серьезно, не поедет на две недели на другой конец мира ради того, чтобы по 5 часов в день писать тренировочные туры, а по вечерам — слушать разборы задач и дорешивать то, что не решилось на самой тренировке.
Касательно темы из статьи — для того, чтобы была одна звезда, надо, чтобы серьезно интересовались темой тысячи. И я вполне допускаю, что для среднестатистического студента из США эта тема менее интересна, чем для нашего. В итоге, даже несмотря на неплохие методики тренировок и отборов, и на наличие небольшого количества профессионалов, результаты хуже. Ну, как одно из объяснений.
… Затем занял должность заместителя технического директора социальной сети «Вконтакте», а после — генерального директора мессенджера «Телеграм».Пруф
Селекция, выбор это в первую очередь свободная миграция, на 100 тыс. населения может получится столько то талантов.
https://www.imo-official.org/year_country_r.aspx?year=2016
Некоторые страны пиарятся, одни и те же люди, один-два таланта, по три года во многих конкурсах, даже из других стран, как футболисты.
Судя по всему, в начале текста имеется в виду финал ACM ICPC, но тогда команды ну никак не могли программировать с 9 до 23, там тур 5 часов длится. И другие подобные ошибки.
«У нас пытаются отбить охоту к учебе, к поиску нового интересного способа сделать что то, к выяснению того, как использовать его эффективно, а затем применить на практике», — сказал он. «Я думаю, что если бы это поощрялось и вознаграждалось, ученикам было бы интересно учиться».
А в бывших странах СНГ не так? Серьезно? Та же бюрократия, основанная на школьной программе, если не хуже. Разница только в том, что математике и другим точным наукам уделяют то время, которое в США отводится на спорт и социализацию.
Оба мужчины согласились с тем, что главная причина успеха России и Китая была простой: они начинают изучать концепции программирования намного раньше, нежели американцы.
'''
Главная причина в том что в России и Китае запросто реализуется 'задротский' кружок где команды натаскивают на решения конкретного класса задач.
(Сам учился в школе где препод по программированию готовил команду на выступление, при этом участники команды могли на обычные занятия не ходить)
В США с организационной точки зрения такое очень сложно реализовать. Если хочешь какой то кружок в школе — то он должен быть для всех, ограничен по времени, не в ущерб физре и.т.п.
В этом есть свои плюсы и минусы. Но то что у Российских преподавателей(и увлеченных школьников) гораздо больше свободы если речь заходит о всероссийских(и тем более международных) соревнованиях — это 100%
По слухам, в Китае вообще детям, которые проявляют в младшей-средней школе большие способности к какому-то предмету предлагают перевод в интернат где их будут готовить к олимпиадам, а не профильных предметов у них будет около 0.
Задача «Найти сумму чисел от 100 до 500». Если загуглить этот вопрос по русски, то решение найдется примерно такое:
int a = 100, b = 500, sum = 0;
while (a <= b){
sum += a;
a++;
}
Студенты сдают его и все довольны. Преподаватель — потому что студенты освоили циклы. Студенты — что у них приняли задачу.
Чудо математики же в том, что задача решается вот так:
int a = 100, b = 500, sum = 0;
sum = (b + a)*(b - a + 1)/2;
В обоих случаях получается 120300.
Пример хороший, но, тенденции таковы, что разработчик находит в интернете библиотеку NumberSummatorUltimate и вызывает метод sumNumbers(from, to). Несправедливо будет говорить, что автор библиотеки "больше программист", чем ее пользователь.
в этой замечательной библиотеке сложение тоже реализовано циклом
Думаете создатели библиотеки математику не учили?

Я совсем не знаю математики и я считаю что я не компетентен в обсуждении решений подобных вашему.
Мне понравилось решение которое вы предложили.
Предлагаю вниманию решение предложенное автором метода sum в языке программирования scala.
Дело, в основном, в языке. Язык формирует стиль и гибкость мышления, культура добавляет особенности восприятия и отношения. Именно это и формирует национальные особенности, которые, разумеется, проявляются и в деятельности.
Странная у вас теория. Тогда бы англичане или немцы были в разы лучшими программистами и математиками, так как их языки намного структурирование и ближе к компьютерным языкам. Ну и англичане, американцы, канадцы, австралийцы и новозеладнцы должны были бы иметь один менталитет, а это вообще не так. Ну и склонности скажем к шахматам или программированию не одинаковы у всех славянских народов, хотя язык, культура и традиции очень схожы. Так что ваша теория не работает от слова совсем.
Вы слишком буквально воспринимаете миф о великом и могучем, каждый носитель считает свой язык самым лучшим, а все славянские языки вообще схожи и если сравнивать грамматику, лексику и словообразование то окажется что русский не более велик и могуч, чем польский, чешский, болгарский, белорусский или украинский.
https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%BB%D0%B8%D0%BD%D0%B3%D0%B2%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8
Гипотеза лингвистической относительности. Также, я где-то видел цитату «Язык определяет мышление». И даже порой обдумываю эту мысль =)
Общее личное наблюдение — в области мозга, где у европейцев (в том числе у всех славян) работает фантазия, у китайцев — хранится база иероглифов.
На фоне китайцев и японцев — у русских, украинцев, англичан, немцев, австрийцев, итальянцев, австралийцев, канадцев, ново-зеландцев, индусов, индейцев, бразильцев и прочих жителей Перу — один менталитет.
Особенность не в «великом и могучем», а в том, можно ли выразить мысль на бумаге/камне/глине/мраморе фонетически или нет?
(про украинский и белорусский — не надо грязи. Это в чистом виде диалекты русского. По определению. В украинский зачем-то надергали искаверканного английского… В белорусском послали лесом все правила правописания. Но мне в детстве чтобы начать общаться с западными беларусами на чистом незамутненном беларусском языке понадобилось два дня. Западно-украинский язык примерно 1982 года издания я освоил за три дня. «Цыкл цыкл мотоцыкл все дороги перецыкал и поехал на базаръ покупать себе фонаръ.» Это реальный украинский язык жителей реальной западной украины всего каких то 30 лет назад!!!
Думаю, разговоры о различии мышления китайца и итальянца можно вести в контексте литературы, но если эти люди пишут объектно-ориентированную систему на C++, они думают в терминах объектов и C++, вот и вся история.
Хм, а где тогда русский Apple, Microsoft, Space X или хотя бы Xiaomi?
Однако Apple, Microsoft, Space X и Xiaomi это более результат гения предпринимательства и маркетинга, а не гения программирования или технического склада ума. Придумать продукт полдела, вот его расскрутить и продать...
Если говорить о программных проектах, то программисты из стран бывшего СССР стоят за основанием Гугла, лаборатории Касперского, Dr.Web, ABBYY Software, Paragon Software, PayPal, Parallels, EverNote, Jetbrains, Netcracker и т.п. Это достаточный список?
результат гения предпринимательства и маркетинга, а не гения программирования или технического склада ума
Создавать новые электронные продукты — компьютеры, смартфоны, операционные системы и возвращаемые ракеты — гений предпринимательства и маркетинга, серьёзно?
программисты из стран бывшего СССР
Это не тоже самое, что русские.
основанием Гугла
Сергей Брин — русский программист? Это уже что-то новенькое.
лаборатории Касперского, Dr.Web, ABBYY Software...
Эм, ну если начать тут приводить список американских IT-компаний 2-го — 3-го эшелона...
Это не тоже самое, что русские.
Не люблю разделения на русский / не русский. Есть те кто родился в странах бывшего СССР (или от родителей из стран бывшего СССР) и кто родился в других странах. Это достаточно. Все остальное это искусственные разделения и даже скорее политические. По сути, русский это всего была сборная солянка разных наций как и американец и считать или не считать русским можно спорить долго и бессмыслено.
Сергей Брин
Выше уже все написано на эту тему, он как минимум выходец из бывшего СССР как и мы все, все остальное политические игры.
Создавать новые электронные продукты — компьютеры, смартфоны, операционные системы и возвращаемые ракеты — гений предпринимательства и маркетинга, серьёзно
Нет, создают их наемные работники, получающие зарплату, а вот чтобы компания работала, имела инвестиции и клиентов — таки да, нужно быть не только и не столько технарем. Плюс создать международную компанию в России намного сложнее чем в США по многим причинам и тут вопрос не в квалификации наших технических специалистов.
Mr_Kibernetik писал конкретно про русских, типа национальная особенность или что-то в этом роде.
как минимум выходец из бывшего СССР
Который к тому же уехал в 5 лет. Вряд ли он успел стать русским программистом.
создают их наемные работники
Что не отменяет того факта, что в США отличный инжиниринг.
Mr_Kibernetik писал конкретно про русских, типа национальная особенность или что-то в этом роде.
ну вы нашли с кем спорить, понятно что это чушь :) Программисты из СНГ (не только РФ) сильнее просто из-за более долгого и сложного мат.обучения. А мерять ум нации по отдельным успехам в некоторых профессиях бессмысленно
Что не отменяет того факта, что в США отличный инжиниринг.
Конечно, правда в нем работают специалисты из самых разных стран. У жителей США скорее отличный скил организации предприятий и привлечения специалистов со всех других стран (что не менее интеллектуальная работа)
"Язык формирует стиль и гибкость мышления"
Гипотеза Сепира—Уорфа. Считается, что она возникла в 30-х годах прошлого века.
Если совсем коротко, то Бенджамин Уорф утверждал: язык определяет мышление и способ познания.
Гипотеза высмеяна учёными ещё в прошлом веке.
Пробовали связать научные способности с культурой ( мол, дикари не умеют познавать мир научно), теория Тульвисте( Бывший преподаватель марксизма-ленинизма в Тарту. Сама теория зародилась ещё в сталинское время. )
В научные реф. статьи так и не попало, треш политический.
2
«ум по наследству»
При Гитлере пышно цвели такие истории. Последняя появилась в мормонском университете, раскритикована.
Нет ни одной научной статьи реферированной по передаче ума по наследству, даже у собак, видимо множество генов сразу надо менять, а это долгий процесс накопления изменчивости.
How Jews Became Smart: Anti-«Natural History of Ashkenazi Intelligence»l
R. Brian Ferguson
Department of Sociology and Anthropology, Rutgers-Newark
bfergusnlal,rutgers.edu
Высокий IQ не наследуется.
Вывод о том, что гены, которые стимулируют аспекты нервного роста, связаны с более высоким интеллектом — чистое предположение.
ps/ Есть какие то статистические разборки-закономерности по отношению объёма мозга к массе тела, немцы и поляки с китайцами лидируют, а французы с неграми самые «глупые». Но это тоже на грани критики а не науки. Чтобы строить построения нужна реф. статья.
Математика есть и будет и её основы неизменны.
Если это будет какой-то другой фундамент, будь то фреймворки или спец. библиотеки или что то ещё, в помощь программисту, ну тоже хорошо. Экономия времени и денег. Совсем не против, почему бы и нет.
В первом случае действительно можно убить кучу времени, хотя кто то уже это сделал и почему бы не воспользоваться этим. Но тем не менее по окончанию будет такой код в котором все будет понятно и замечательно.
Во втором случае, вот какая загвоздка получается, всё постоянно меняется, языки программирования усовершенствуются, появляются новые, под них пишутся(сейчас это фреймворки), в недавнем прошлом *.dll ки
Это постоянно нужно перестраиваться, постоянно нужно быть на чеку, так сказать где то, что то вышло нужно тут же усваивать, это я Вам скажу тяжело. Студенты, которые сейчас обучаются, а думают все легко и просто, но с каждым годом появляются все новые и новые технологии и если ты был до этого спец, то сейчас ты снова студент. Порой уже кажется, а программист ли ты? или админ? или тестировщик.? ) или нечто среднее между ними всеми.
Поэтому нужно иметь математический фундамент, со знанием фреймворков.
Про наши школы все знают, но не все знают про школы в сша. Скажем так: раньше я думал что у нас бездельничают и учат плохо.
перестанут сегментировать специалистов по странам
Система национального государства в современности малоэффективна.
Люди объединяются не только по патриархальным, языковым, религиозным, а тем более территориальным «правилам».
Спекуляции на национальностях, традиционности (изобретении традиции) или религиозном прошлом давняя часть европейской мифологии.
«Предлагаю вам переходить в „Фейсбук“. И я не просто так это вам говорю. Хотя бы потому, что семья ее основателя Марка Цукерберга из Одессы, а нужно поддерживать своих».
Яценюк
«Ирландские профессора пишут книги, чтобы доказать, что Гомер был ирландцем; французские антропологи предоставляют свидетельства того, что кельты, а не тевтоны, были источником цивилизации в Северной Европе; Хьюстон Чемберлен доказывает во всех подробностях, что Данте был немцем и что Христос не был евреем. Подчеркивание расы было повсеместным среди англо-индусов, от которых империалистическая Англия подхватила эту заразу благодаря Редьярду Киплингу».
Бертран Рассел, Происхождение фашизма / Искусство мыслить 1999 г., с. 198.
Рекомендую для прочтения короткую, но интересную книгу
Реликтовая Европа
Русский (в среднем) превосходит американца по индивидуальным качествам (творчество, мастерство, изобретательность, смекалка, полёт фантазии, гибкость ума, нестандартное мышление и прочая и прочая ....)
Американцы (не американец, а американцы) на голову превосходят русских в системной организации.
P.S. Свою основную задачу — не дать русским организоваться в устойчивую и слаженную систему, Запад выполняет (как и всегда) весьма успешно. Ибо если эти смекалистые выскочки ещё и организоваться сумеют должным образом — пиши пропало.
Свою основную задачу — не дать русским организоваться в устойчивую и слаженную систему, Запад выполняет (как и всегда) весьма успешно.
Вот это интересно. И каким же образом это делается?
Бездействие — это вполне моральное поведение в такой ситуации: спасать Россиян и помагать им "организовываться в устойчивую и слаженную систему" Запад нисколько не обязан. Однако, коментарий user4000 недвусмысленно называет продиводействие этому "основной задачей" Запада. Так что тут должно быть что-то больше не оказания помощи, чтобы так категорично заявлять.
Что, есть какое-то серьёзное исследование на тему кто кого превосходит? Среди американцев (и европейцев) полно инженеров, которые изобрели все эти UNIX, C/C++, телефоны, самолёты, атомные реакторы, квантовую физику и т. д., не только менеджеры.
Российские студенты доминируют на олимпиадах по программированию и американские студенты этому не удивлены