Pull to refresh
-3
0.2
Дмитрий @qrKot

Энтузиаст

Send message
>> Но Вы правы, у бизнеса нет свободных ресурсов, чтобы существенно повысить среднюю квалификацию программистов,
Вот такой у нас хреновый бизнес? Это ведь поэтому наш бизнес не в состоянии конкурировать с общемировым?
>> именно поэтому этим должно образование заниматься.
Похоже на перекладывание с больной головы на здоровую. Почему проблема у бизнеса, а решать ее должно образование?
>> Так я и не предлагал в тетрадке программировать, хотя мы в школе именно этим занимались первые полгода в 10-м классе, а потом нас к Агатам допустили, вот такая веселуха была в начале 00-х.
Вероятно, я более везучий. У нас в 90-х каким-то образом появились уже «прогрессивные» «последней модели» 386-е. Дома у меня тогда AMD K6 стоял, правда…
>> Опыт мне подсказывает, что признанные решения редко совпадают с первым, что в голову пришло.
Мне вот кажется, что попытка решить самостоятельно «до» может дать нехилое понимание не только того, что мы используем, но и ответить на извечные вопросы «зачем» и «почему». Знаете, когда-то я узнал, что такое РСУБД. И вот решил я это свежеприобретенное знание где-то непременно задействовать. SQL мне в руки и поехало. Прямо в коде запрос, потом еще один, потом добавляем табличку, переписываем запросы, потом переделываем тут и там. Да, на любом языке можно писать на PHP.
На определенный момент я самостоятельно пришел к таким вещам, как «соглашение об именованиях», причесал базу. Стало легче. Дальше следующий шаг — конктруктор запросов. Потом приведение структуры классов в соответствие со структурой базы… А потом я узнал, что такое ORM. Вы знаете, я почему-то сразу уловил суть нового инструмента и я заранее знал ответы, почему оно именно так, и зачем эта штука существует…
>> никому кроме автора он не нужен будет.
Ну, собственно, никому больше и не должен быть нужен. Ну, возможно, одноклассникам. Возможно, ученика за это симпатичная одноклассница поцелует. Почему бы и нет?
Давайте отвлечемся от чисто теоретической составляющей.
Представим все того же Василия, в меру одаренного ученика средней школы, среднестатистической не особо выделяющейся внешности, тайно влюбленного в одноклассницу Катю. Приходит он домой после уроков (крайним как раз оказался урок информатики) с твердым желанием творить. Ставит себе ту же IDE, что в школе (бесплатную, без смс), и, применяя полученные там же знания, пишет интерактивное-приложение открытку-признание в любви. Прикольно же?
Но тут мы выясняем, что учат его на Pascal. «Окей, нам нужна Delphi!» — решает предприимчивый Василий. Идет он, значится, на сайт Embracadero, сразу жмет «Купить» (мальчик у нас честный, воровать не привык) и… охреневает. Первая попавшаяся ему на глаза цифра: 331 999,00 руб. Можете сами сходить на сайт, проверить.
Не, ребят, вы серьезно? Мне почему-то кажется, что есть просто mast have условия для преподаваемой вещи, как то:
1. Возможность поставить/использовать то же самое дома, без лишних заморочек, без рекламы и без смс.
2. Непривязанность к единственному вендору, способному превратить светлые позывы ученика в тыкву единственным волевым экономически-обоснованным решением.
3. Наличие экосистемы вокруг. Важно, чтобы материалы по языку/среде/экосистемы были доступны, по возможности бесплатны, вменяемы, полны. Да и спросить чтобы было у кого.
>> PS сколько Вам лет, молодой человек?
Не уверен, что это существенно… 35
>> У меня был тёплый ламповый Бейсик на терминале. Но мы на нём такое писали… используя командные ASCII коды. В самом Бейсике не было никаких команд для перемещения курсора, но ASCII коды — позволяли такое делать.
Не сомневаюсь, было очень весело и вдохновляюще. Но вы же понимаете, что делали вы это не от хорошей жизни. Современный ученик с имеющимся инструментарием за сравнимое время Super Mario Bros. написать может. Только не на Бейсике…
В данный момент Бейсик может оказаться полезным для… хм… Для написания макросов в MS-Оффисе. Честно говоря, не знаю сфер применения, где у него не было бы лучшей альтернативы.
>> Так что на Бейсике мы делали то, что на прямую он делать не позволял.
Что-то мне кажется, это не в пользу языка говорит…
>> На примере Pascal о них как раз можно рассказать.
Ну, собственно, о них можно рассказать на примере почти любого другого языка. Изучать Паскаль, чтобы на нем продемонстрировать работу циклов?
>> А в VB.NET, я так подозреваю, давно уже LINQ заправляет работой с Enumerable.
В деталях — дьявол. LINQ — вполне себе достаточно нишевое вендорозависимое решение. К тому же скрывающее детали реализации. В образовательных целях предпочел бы какой-нибудь другой ORM.
>> Для паскаля есть VCL и LCL.
Мне вот кажется логичной мысль не завязывать образовательный процесс на проприетарное относительно дорогое решение, поддерживаемое одним единственным едва живым вендором…
>> Биндинги к wxWidgets есть практически подо всё.
Поэтому мне и кажется, что смысла завязываться на продукты Embracadero смысла нет.
>> Считаете веб-программирование стоит тоже в учебный план включить?
Собственно, сетевое программирование на уровне сервисов/служб/клиентов, КМК, стоит.
>> С VB.NET можно использовать ASP.NET MVC.
Вы же чуть выше говорили, что изучать нужно сами основы, а не конкретный продукт конкретной конторы, который неизвестно еще, будет ли жив через пару-тройку пятилеток.
>> Smalltalk, Haskell, Racket тоже отлично справятся с этой задачей.
К стыду своему признаю, что тут я вообще не авторитет.
>> Вы про паскали и бейсик? Они проще.
Хм, тут вы правы. А Python, Go? Не сложнее паскаля и бейсика, имхо. Впрочем, Go достаточно нишевой и таки гугловый, хотя комьюнити у него конское. Но если уж выбирать в качестве языка для обучения между Python и Basic (а их ниши вполне себе пересекаются), не вижу аргументов в пользу Basic'а.
>> Откуда такое пренебрежение к Паскалю и Бейсику? Есть же Component Pascal, Object Pascal (он же Delphi), Visual Basic .NET.
Ну вот, следуя вашей же логике, от таких вещей, как циклы, в преподавании надо отказываться. Вот конкретно на Component Pascal, Object Pascal и Visual BASIC отказываться? А как?
А вменяемые UI-библиотеки для этих языков?
Не говоря уже о том, что все 3 — достаточно нишевые и вендорозависимые вещи.
Собственно, назовите мне хоть одно реальное преимущество хотя бы одного из 3-х названных вами языков над той же многострадальной Java.
>> Что такого на них нельзя написать, будучи школьником?
Домашний сайт?
>> С прикладным применением всё равно не угадать…
Ну, собственно, тут трудно, да. Но те же BASIC и Pascal (как бы ни прискорбно оно звучало в отношении второго) вполне можно в разряд эзотерических языков относить. Экосистема вокруг них мертва.
Извините, перестал вас понимать.
Как «функции высшего порядка (map, filter, reduce), генераторы списков и рекурсия» сочетается с «C, Pascal, Smalltalk, Haskell, Racket»
>> Развитие мышления. Это гораздо полезнее, чем любой конкретный язык.
В сугубо концептуальном смысле я с вами склонен согласиться. Только мы тут про преподавание в школах говорим. Мотивация у вас как-то выпала. «Развитие мышления», «Потом будет легче», «В жизни пригодится» — очень слабые мотиваторы. Для детей/подростков профит должен быть «здесь и сейчас». «Пропыхтеть» полтора часа за каким-то алгоритмом и через секунду после запуска программы увидеть ожидаемый вывод — это какой-никакой мотиватор. Убить полтора часа над схематической записью в тетради без возможности проверки «выхлопа» алгоритма — на мотивацию не похоже.

>> Но как быть с тем, что не существует типовых задач автоматизации и обработки, для которых ещё нет готового решения?
А вот тут прелесть как раз в том, что перед нами, предположительно, дети. Они не знают, что «все уже сделано до них». Поэтому, мне кажется, потренироваться на «велосипедах» — неплохая идея. По крайней мере, дети будут понимать, как работают чужие велосипеды, признанные «готовыми решениями для автоматизации типовых задач».
>> Ну а если действительно перерос основы 5 языков, которые я перечислил, у него будет свобода выбора перейти к практическому применению одного из них уже вне школы.
>> C, Pascal, Smalltalk (есть в варианте для самых маленьких — Scratch), Haskell, Racket.
Вы про эти 5 языков? Серьезно?
>> Вы же понимаете, что учебный вариант можно написать абсолютно на чём угодно.
Я понимаю, что:
а) не на чем угодно возможно
б) не на чем угодно возможно в разумные сроки
в) не на чем угодно стОит
Ну и, собственно, из 5-ки «C, Pascal, Smalltalk, Haskell, Racket» не стОит ни на одном.
>> а Вы хотите одного бедного школьника нагрузить задачей, которой ни один профессионал в одиночку не занимается?
Вы что-то в дебри подались. Наколеночный ежедневник я, собственно, писал. Тысячи полторы строчек вышло. Не знаю, зачем там 100500 серьезных специалистов.
В общем и целом, не совсем понимаю вашу позицию. С одной стороны вы пытаетесь привить ребенку правила серьезной разработки, рассказать, чем фронтенд от бекэнда отличается, предъявить ему требования по качеству, допустимые для серьезной команды. С другой утверждаете, что все это он должен сделать на Pascal'е…
Ну, собственно на одном языке зацикливаться — действительно «не очень» идея.
Я, например, говорил о том, что всем упомянутым вами вещам вполне можно учить на языках, имеющих прикладное применение.
Учить чему-то на том же Паскале или Бейсике, как мне кажется, форменное издевательство. Да, у них очень невысокий порог вхождения, что есть, безусловно, плюс. С другой стороны, дальше чем «пописать сортировку в учебных целях» на них не уедешь. В конечном итоге, мы удовлетворяем «средних» учеников, «работающих на оценку», но не даем никаких возможностей для роста будущим «рок-звездам» в программировании.
Собственно, откуда такая проблема — тоже вполне понятно. Проблема, собственно, начинается в учителях. Где ж их набрать-то столько, чтобы «в теме» были. Средний уровень школьного учителя информатики (могу и ошибаться в целом, говорю только по своему опыту) у нас невысокий.
На определенный момент мы упускаем другую проблему.
Допустим, у нас есть ученик Василий. Очень заинтересовался программированием, пишет, не покладая рук. Захотел написать что-то реально прикладное, даже язык новый, как мог, изучил. Допустим, ту же Java.
Проблема не в том даже, что бедному ребенку пришлось еще один язык выучить — впитывают-то они, как губки. Проблема начинается на том месте, где этот условный ученик Василий «затыкается» на каком-то месте своего pet-проджекта и идет искать помощи. У кого он ее ищет? Правильно, у ближайшего «авторитетного специалиста», у своего учителя. А учитель смотрит на Василия, как на дурака, и спрашивает, что за хрень тут написана…
Мне кажется, одним из важных факторов при выборе образовательного языка является его поддержка/развитие с уклоном на реальное прикладное применение. Возможность написать реальное приложение/систему/сайт/сервис/чтоугодно «для себя», а не просто инструмент для «пописать алгоритмы сортировки» — реально ощутимый «бонус».
Вот, скажем, тот же Pascal. Как к языку к нему претензий, пожалуй, особых и нет. Вопрос в том, что ребенок, который реально «перерос» школьную программу и уже не получает кайфа от чисто «тренировочных» задач, кроме этих самых сортировок ничего написать не сможет. Ну вот нереально на Паскале что-то действительно интересное написать для прикладных задач. Захотел ребенок для себя «ежедневник» написать и… и все… пошел учить что-то другое.
Из примеров, впрочем, на памяти строго обратное. Сначала Python внедрили в качестве образовательного в куче ВУЗов, а уже потом Гугл тот же вложился в прикладную «обвязку» для языка. На выходе получился вполне неплохой язык для изучения CS (не без оговорок, конечно, но получился) с достаточно широким прикладным применением. С Бейсиком и Паскалем так не получается.
Так что я лично (впрочем, мое мнение не особо авторитетно) только «за» переход преподавания в школах на тот же Python. В конце концов ребенок и портал для себя написать сможет, и десктопное что-то, и пару-тройку консольных тулз, и с «малинками» поиграться сможет для дальнейшего саморазвития.
Подождите, мы же уже согласились, что если у вас контора до тысячи рабочих мест, куда может прийти специалист и «все настроить», то MS безальтернативен.
Мы же говорим про ситуацию на миллиардные контракты, когда вендор-лок будет преимущественно на ваших собственных, в итоге, продуктах.
Вы же не будете отрицать, что вендор-лок, как таковой, в чисто философском смысле — зло. И неважно, чей он. Поэтому, если есть возможность отказаться от MS-вендорлока, то почему бы и нет. Одним меньше.
Есть же еще политические, экономические и прочие причины. Выбирай на вкус.
(Оффтоп: не подумайте, что я считаю за уважительные причины ура-патриотизм и прочие not-invented-here. Сам не люблю все эти «наши ответы Голливуду»)
Вот, например, из политических: допустим, мне в Крыму нужно поднять инфраструктуру на 10 тыс. серверов и 100 тыс. пользователей. Как такой вариант?
Экономические: допустим у меня есть 10 тыс. серверов, преимущественно с данными и 100 тыс. пользователей, которые эту базу ведут и заполняют. При этом вся работа ведется в базе, без красивых табличек в «офисе» и прочей бумажной мишуры. Вам не кажется, что на отказе от MS можно вполне себе сэкономить?
Давайте немного пофантазируем «от исходных».
У нас есть конского размера распределенная система в виде 10 тыс. серверов + 100 тыс. рабочих станций. Из соотношения 10 пользователей на 1 сервер можно предположить, что система достаточно специфична. Т.е. одними AD-серверами там дело не ограничивается + свой специфический софт один фиг имеется.
В таких масштабах «лишь бы не MS (подставить имя любого вендора)» вполне может быть причиной.
Есть тысяча и одна вещь, которую Windows не умеет (начиная с контейнеров приложений, например). Есть миллионы вещей, с которыми приходится «мириться» на win-системах (spooler стабильный, наконец, завезли?). И любая из этих вещей может стать поводом для реализации «более своей» системы.
По поводу конкретно «AD», я отталкивался от вашей фразы «Даже банальную AD заменить не на что.» Что есть в AD такого, что реально невозможно было бы реализовать за деньги? Мы же говорим о масштабе 100 тыс. рабочих станций, т.е. более полумиллиарда денег только на пользовательский софт. И это еще не считая серверов.
За такие деньги уж систему «как AD», заточенную под ваши конкретные нужды, вам завезут. Честно. Стопудово.
В сухом остатке я опровергал высказывание о том, что в сегменте 10 тыс. серверов + дохрена пользователей MS безальтернативен. Посмотрите хотя бы на Гугл. Мне кажется, что и серверов там побольше, и MS-продуктами не особо пахнет.
Я говорю о том, что на 100 тысяч машин можно разработать свое решение либо допилить что-то стороннее/свободное. На 100 машин — экономически нецелесообразно.
Именно при 100 машинах у вас нет вариантов, вы, по вашим же словам, «Выделяете 5-10 хостов под виндой для виндоспецифичных задач». А потом вы пытаетесь как-то это решение интегрировать в общую систему. И вот тут вас ждут дикие пляски с бубном по грабельному полю.
Какие у вас есть варианты? Из того, что сразу приходит в голову: найти спеца, который и по этим граблям уже потоптался, и собаку какую-нибудь съел. Ну так вот в том и проблема, что со 100 рабочих станций этого самого спеца вы не окупите. Реально проще найти спеца подешевле, но с сертификатом, и остаться на MS-стеке.
Вот с 10 тыс. серверов и 100 тыс. раб станций — тут можно и пофантазировать. Вы вполне можете поиметь вполне себе команду вполне себе специалистов, которые вам реализуют не «наиболее востребованные среди миллионов бизнес-пользователей фичи», а то, что нужно конкретно вам. И это будет ваш продукт, на котором, в теории, после этого еще и деньги заработать можно.
А специалистов можно и научить. Первую линию техподдержки вообще можно за неделю-другую натаскать.
Собственно, о чем я и говорил.
~100 машин — безальтернативно. 10 миллионов денег на разработку «продукта внедрения» для установки на 100 машин — это дорого. На миллион машин, это по 10 денег на рабочую станцию, т.е. «копейки».
Т.е. построение «своей» инфраструктуры в масштабах даже тысячи рабочих мест — малореально. Тупо покупать MS-продукт. А вот для 100 тысяч рабочих мест, упомянутых парой постов выше — почему бы и нет? Вы реально думаете, что разработчики тех же крипто-про, контуров и иже с ними заради продажи 100 тыс. лицензий не соберут свой продукт под систему, в которую вы ткнете пальцем? Та же 1С, в конце концов, собралась под Linux, и ничего, живет как-то.
Вот и остается в сухом остатке:
1. AD и интеграция с оным.
2. MS-office (который, стоит признать, в некоторых сценариях использования вполне хорош и даже, более того, безальтернативен).
3. MS SQL и SharePoint, оправданные для сценариев из пункта 2.
4. Наличие «сертификации».
Самая большая проблема в существующих системах — интеграция. Ничто не интегрируется с тем же AD лучше, чем само AD. Это факт. Все прочее — танцы с бубном.
Т.е., я признаю, что, в случае работы «в стиле» MS-продуктов — да, безальтернативно. При этом MS кроме прочего — самый экономный вариант.
А вот если планируется система на 100 тыс. рабочих мест при 10 тыс. серверов…
Собственно, мне кажется, при наличии определенной мотиваци, вполне можно «взлететь» и без MS. Масштаб уже позволит:
1. Вложиться таки в спецификации и постановку бизнес-процесса.
2. Разработать недостающий софт.
3. Стандартизировать весь этот зоопарк с последующим выходом в запуск системы «сертификации».
На сумму от миллиарда и выше, думаю, задуманное вполне реально.

Вот об этом я и говорил. Для небольших структур можно и «не рыпаться», все равно малореализуемо. «Гиганты» могут себе позволить очень многое.
Мне кажется, у нас возникло некоторое недопонимание.
Я писал: «На эти деньги вполне себе можно в определенных случаях построить вполне себе систему на вполне себе не-МС продуктах.»
Я имел в виду именно определенные случаи. Мне кажется, роль того же AD преувеличена. Оно нужно далеко не в каждой системе, тем более на 10000 серверов. Вообще страшно представить даже монстра на 10000 AD-серверов.
Системы и по 10 тысяч и более машин вполне себе существуют без MS-продуктов. Собственно, можно таки заняться декомпозицией задачи. Для чего нужен тот же AD? Если разложить по полочкам — каждый AD-компонент вполне себе имеет достаточно приличный аналог, во многом даже лучший. В некоторых случаях AD может быть даже во вред, стоит признать.
Вот если вопрос стоит как «нужно взять существующую систему в масштабах страны на 10 тыс. серверов и 100500 миллионов рабочих станций на MS-стеке технологий и прозрачно перевести на не-МС продукты», тогда да. Вопрос, пожалуй, нерешаемый. А новые системы вполне на без-МС-ном стеке строить можно.
Проблема не в замене технологии, проблема в интеграции на промежуточном этапе. Вот с интеграцией действительно туго, спорить не буду. Она не выгодна MS, поэтому ее и не будет.
Ну, собственно, вопрос именно в масштабах. При 1000 серверов и 10000 рабочих станций, КМК, суммарная стоимость чисто МС-софта выльется под миллиард. На эти деньги вполне себе можно в определенных случаях построить вполне себе систему на вполне себе не-МС продуктах.
Вот, скажем, при 10 серверах и 1000 пользователях, тут да, МС вне конкуренции по ценовому сегменту. За пару миллионов софт не напишешь.
Не, Гугл обелить я целью не ставил, не подумайте. С этой задачей Микрософт справляется лучше меня. Все ведь познается в сравнении?
>> Я пользуюсь дополнительным местом на гуглодрайве
В гуглодрайве вам рекламу и не показывают.
>> однако мне никто не отключает рекламу в той-же самой почте
Какбэ другой продукт. Почему, собственно, при покупке пакета молока на хлеб должна скидка даваться? При этом купите корп.подписку на гуглопочту — вам не будут в ней показывать рекламу.
>> Купив смартфон на андроиде — я не могу удалить яндекс поиск
Ну, как раз в этом Гугл упрекать странно. Ему не только заплатили, его еще и посудили, и штрафы пособирали, и чего только не было. Антимонопольщики всего мира с завидной регулярностью пинают гугл ногами на деньги конкурирующих фирм.
И при этом я не обеляю гугл. Я отлично осознаю, что гугл на мне зарабатывает деньги. Только он, в отличие от микрософта, либо продает меня рекламщикам, либо берет деньги с меня напрямую.
Микрософтовский Вин10, купленный за вполне реальные деньги, вполне себе нормой считает показывать мне рекламу в меню «Пуск», например. Гугл, он, конечно, не «корпорация добра», но таки на фоне микрософта выглядит вполне «няшей»
Я про то, что у того же Гугла принято продавать либо товар, либо пользователя. Навариться на обоих, имхо, перебор.

Information

Rating
2,402-nd
Location
Бийск, Алтайский край, Россия
Date of birth
Registered
Activity