Небольшие улучшения в видео: 1. Добавил больше пауз (Многие говорили что не успевают улавливать мысль, так как говорю слишком быстро) 2. Убрал дефолтные и примитивные футажи с хакерами, которые всем надоели 3. Плавность и качество картинки (По сравнению с другими видео, текущее качество должно возрасти) Если вы заметили эти изменения, то можете оставить свой комментарий под этим закрепом, чтобы я понимал, двигаюсь ли в верном направлении. Также приветствуется конструктивная критика, я буду рад, если вы подскажете, что стоит добавить, чтобы видео было легче смотреть.
1) изучение языка программирования не нечто сверх сложное, тем более зная один другие изучать гораздо проще 2) новые потенциально хорошие языки программирования не каждый год выходят
@@slimik4000 старые тоже на месте не стоят, появляются новые либы. На саму "переобувку" уходит много времени. Это как если бы стол программиста переделывать в стол для столяра. Кому захочется всё время жить на чемоданах?!
3:16 "Я хочу показать преимущества языка Mojo, которых очень сильно не хватает Python. Первое - это полная совместимость с экосистемой Python...". Не знал, что Python сильно не хватает совместимости с Python (самой с собой). :)
>>> Не понятно почему в пайтоне нет режима статической типизации. А уже есть. Type hints + mypy == статически типизированный удав. По сути примерно то-же самое, что TypeScript, только там оно сделано в виде препроцесора, а тут в виде статического анализатора.
Ненужно ограничиваться одним языком. Разработчик должен развиваться и изучать все новое. Сейчас почти все IT отрасли используют Питон поэтому изучили его. Если через 10 лет они перейдут на Можо или на что то еще у которого будет такое же количество библиотеки и поддержки перейдем на этот язык. Это же не брак с питоном пока смерть не разлучит нас)) Это последнее о чем нужно беспокоится
@@art_vor Можно. Ведь если знать один язык и логику то все остальные лишь синтаксис. Был один профессор (не помню имя) и он начал изучать Питон в конце нулевых и у него спросили как прошла учеба он ответил что это был хороший день 😁
1:202:25 Круто. Значит, можно будет взять интерпретатор Mojo (если у него открытый исходный код) и заменить в нём весь синтаксис на питоновский. Возможно, получится что-то более дельное, чем PyPy. Впрочем, может хоть появление Mojo заставит разработчиков CPython сделать всё по человечески: добавить JIT-компилятор, многопоточность и прочие достижения прогресса в области ускорение программного кода.
Язык это не только синтаксис, самое главное не в этом. Главное это сообщество, разработчики, мануалы, библиотеки, фреймворки. А так давно есть куча языков быстрее пайтона и почему они не заменили его?
Мне кажется, что Mojo до реализации полноценного языка ещё очень далеко и люди ещё очень не скоро позабудут питон. Рано очень говорить о том, что Mojo заменит питон. Мне кажется, что комьюнити питона может таким же образом сейчас поднапрячься и сделать питон многопоточным, ускоренным и т.д.
@@zproger А паники нет.) Просто Mojo - это как изменить дизайн рамы велосипеда, а после преподнести сие как гоночный мотоцикл... То же самое и с Rust: изобрели монстра, у которого порог входа выше чем у С++. Вот эта типа эволюция в программировании похожа лабиринт в трех соснах. Mojo копия Python, у Rust синтаксис к которому привыкнуть, что подвиг совершить... Где реальный ароморфоз в программировании?
@@coderun1344у Раста порог входа ничуть не выше. Для обучения есть прекрасный Rust book, синтаксис лаконичен и легко читается, borrow checker не даёт прострелить колено, Cargo позволяет управлять сборкой и библиотеками без ёли, стандартная библиотека обладает огромным набором структур данных и полезных методов, взять тот же трейт Iterator. Хоть он и позиционируется как системный, что подразумевает существенно более низкий уровень абстракции, но лично мне изучать его после JS и Python было легко и интересно
@@mipselqq3133 Желаю вам успехов в изучении Rust. И пусть Cargo - это действительно "сахар", но пока на Rust не написали ядро операционной системы ни Windows, ни Mac OS, ни хоть какого нибудь дистрибутива Linux. Причем с нуля... На чистом Rust... Ну если тяжело возьмите Mojo в помощь))
Безусловно звучит это все очень круто, и я надеюсь что ребята доделают язык и он станет популярен, если он действительно такой мощный. Но кто нибудь, объясните ему что программирование, это не про языки
Будем смотреть. Если последняя фраза была адресована мне, то я прекрасно понимаю что программирование это не языки, в конце видео как раз таки об этом говорил, не знаю с чего вы сделали такой вывод ;)
@@shadow_blader192 наверное он о том, что язык - это про реализацию, а важнее структура, принципы и т.д. Просто накодить костыль на коленке - сейчас такое не актуально. Только если для себя.
А вы знаете, что Engineering Director at Modular (контора что Mojo пилят) Tatiana Shpeisman является носителем русского языка? Может сможете через Linkedin договориться с ней об интервью? Они вроде сейчас активно продвигаются
Язык конечно хороший, но вот когда он выйдет, это вопрос, и к тому же ему понадобиться много времени чтобы доказать свою надежность. Но надеемся что он выйдет как можно скорее
Если Mojo будет так сильно похож по синтаксису и набору своих умений на питон , то тогда имеет смысл изучать питон , а после доизучать остатки Mojo и всё, конец
лучше сразу учить чем потом переучивать так как потом можно путаться. Взять в пример то, что я работал на пайтон месяца 2-3 и потом уже не было необходимости на нем работать и дальше я работал на языке Си, то забывал всегда ставить точку с запятой, это гооврит о такой вещи как привыкание. Привыкая ты потом с некоторыми усилиями будешь переучиваться, понимаешь? Поэтому я думаю что лучше учить моджо сразу, но поскольку его еще до сих пор нет, в связи с этим можно учить пайтон дальше, а после полного появоления моджо необходимость в изучении пайтона пропадет
А вы не могли бы прокомментировать для каких случаев будет верно утверждение о преимуществе в скорости в 35000Х, насколько я знаю преимущество С в скорости до 100Х? Или же такое преимущество у Mojo в многопоточных вычислениях?
На англоязычном Ютубе есть ролики с разбором тестов моджо. Там Пайтон обрабатывает какое-то большое число данных в цикле, в котором еще один цикл и еще один... А можно при этом написан алгоритмически правильно, плюс использует SIMD, который кстати и так доступен практически всем разработчикам бесплатно. В добавок не раскрывается на каких процессорах проводились эти тесты. Большинство процессоров Интел допустим не поддерживают AVX512, хотя использование этой инструкции тоже должно дать значительный прирост в тестах моджо.
Есть вопрос по поводу потоков в Mojo. Как происходит общение между потоками? Как я понял в Mojo скорее процессы а не потоки а общение между процессами происходит немного сложнее чем между обычными потоками.
Из картинок я полагаю, что они таки реализовали весь инструментарий для управления общей памятью с семафорами и прочем, хотя в голове не укладывается как это работает с либами по типу numpy
Что на счёт применения в анализе данных? Учу Python в рамках курса аналитика данных. Потом в силу сходства можно будет выучить и этот, и переносить код и данные?
Весь реальный прирост в производительности данного языка против CPython показывается на тестах с тяжелыми параллельными вычислениями, что в случае с CPython прекрасно покрывается библиотекой numba, которая компилирует Python код в нативный параллелизируемый бинарный код через LLVM. Я уверен, что если сравнивать Mojo с CPython + Numba На этих же примерах, то там вообще не будет никакого прироста производительности, поэтому они этого и не приводят))
Добавлю своего мнения к видео. Да, в полне реально что mojo найдет применение помимо ИИ, но из коробки моджо быстрее только в некоторых аспектах. Вообще, единственное на мой взгляд существенное преимущество - LLVM, то есть если я знаю С++ и POSIX + к этому знать LLVMIR , то я смогу написать производительный фреймворк для веб-бэкенда например, будут ли этим заниматься питонисты? Плюсовики точно не будут, потому что С++ всеравно гибче. Понятно что кто-то это сделает, но ниша останется за ИИ. А вообще, если кто-то работал, например с Nvidia jetson, тот знает что ой как геморно версию питона поднять, я уж не говорю насколько геморно будет на моджо там переходить.... А в мире веб-бэкенда легаси ой как много, и даже там где немного, ой как много времени уйдёт для того чтобы уйти от пайтона на моджо. Короче, круто, перспективно, но не панацея. Я уже не говорю о багах компилятора, которые конечно пофиксят со временем. Кстати можете посмотреть на похожую реализацию - Codon.
Только на днях завершил обучение пайтону.( В 2022 году была нехватка программистов и от иннополиса на наш иниверситет выделили 1.5к мест, под эту программу и я попал. Буквально вчера защитил проект, простенький но из-за огромного числа расчётов он был на 420 строк до рефакторинга, цель проекта автоматизация расчета нории, расчет которой в ручную занимает 0.5-2 часов, а через программу несколько минут ) Не знаю пригодится в будущем или нет, т.к основное образование - инженер технолог пищевых производств, но я считаю, что нужно разнопланово развиваться. Если пайтон и мойджин будут очень похожи, то думаю изучить его имея базу Пайтона будет легко.
так в пайтоне уже с версии 3.5 есть асинхронщина, так что насчёт того что потоки выполняються поочередно можно уже давно забыть. Может по скорости пайтон и будет всё таки уступать но асинхронщина сейчас очень сильно набирает обороты даже с тем же FastAPI
Ну так потоки это ведь совершенно другая концепция, а Python полностью их исключает. Бывают задачи, где асинхронность не сможет заменить потоки, и также наоборот.
Мне кажется, что асинхронщина и многопоточность - это разные вещи. То-есть, они иногда совмещаются (те же горутины из голэнга например). Но в пайтоне именно асинхронщина. То-есть ты запускаешь одновременно много задач, но они делаются по-очереди на одном потоке. Именно об использовании разных потоков (и ядер) процессора пайтоном я не слышал.
Можно придумать специально медленную функцию на чистом Python, и оптимизированную на C. И то 3000 порядков не добьешься. Скорее всего это натянутая цифра. PVM очень эффективен, разница есть, но она не сравнима с преимуществами.
Видео очень познавательная, ео есть много + и - Python Плюсы 1 - Очень удобный язык для начинающих и профессионалов 2 - Доступность разных сред для этого языка 3 - Легче читать код хоть он и большой 4 - Помощь или корректировка языка 5 - Есть сортировка (именно в среде) 6 - Очень приятный и понятный для написания код Минусы 1- Многозадачность (разные вычислмтельные действия или потоки) 2- Отсутсвия примеров по применениям разных функций или применение разных модулей для создание чего либо Может есть еще минусы но Mojo заменить Python в плане крупных разработок ,очень крупных.
питон мне в целом понравился, но практическое его использование для меня сомнительно, я пытался перейти с си шарп на питона и понял что я всё время трачу на поиски каких-то сторонних библиотек, которые еще и имеют проблемы, какие-то вообще не поддерживаются разработчиками, в итоге почти 1 гиг накачал всякого а свои программы повторить не смог. Молчу про GUI программы, это вообще боль. Про вэбы, бизнесы и студентов ничего не скажу, я этим не занимаюсь.
Язык интересный, но не стоит так плохо относиться к Питону. Я недавно общался с одим из разработчиков языка Питон, и он много интересного мне рассказал. В последних версиях они сильно его ускорили. На данный момент идет активное переписывание языка на уровне C и Ассемблера. Так что ждем новых релизов, возможно питон станет довольно быстрым
Пока не сделают jit или генерацию в код целевой машины - он будет интерпретатором, пусть и кода. Т.е. медленным, даже по сравнению с таким же динамическим языком как js. Плюс пока не избавятся от GIL многопотока можно не ждать. Видимо архитектурно cpython настолько плох.
>Язык интересный, но не стоит так плохо относиться к Питону. К Python 3 - очень даже стоит. Помойка в python 3 начинается с самого языка и продолжается в pip. Плюс, наваливается с каждым новым релизом. Стандарта на язык нет и не будет, поэтому для долговременного использования он непригоден.
@@andrewbondaryuk Jit ещё для Python 2 был, да и сборка под целевую машину имеется хоть в каком-то виде. А медлительность связана с самим языком как таковым. Про GIL, который сильно ограничивает применение языка, уже упомянуто.
Про nim - ок, но какие недостатки у julia? Oна зрелая, похожая на python, практически всем лучше и имеет перечисленные в видео достоинства: быстродействие по некоторым синтетическим тестам опережающее С, многопоточность из коробки, опциональная типизация, органичное использование экосистемы python, лин алгебра... и даже больше: распределенные вычисления, полноценное метапрограммирование на макросах, очень крутая фича множественной диспатчеризации и еще много всего... Единственный недостаток - долгая прекомпиляция при первом исполнении кода, которую можно заранее сделать, если что. И в целом, она намного более последовательная как язык - там нет, например, такого, как когда "гении" из python придумали на уровне языка затыкать проблемы безопасности веб-фреймворков и сделали ф-цию hash разной между сессиями... рандомные хэш-функции! это оксюморон какой то... В python очень много подобного... По поводу нехватки библиотек: много крутых разрабов библиотек, которые не смогли идеи воплотить в python ушли в julia. Например, MLStyle можете посмотреть, который вводит кучу видов деструктуризаций/паттерн матчинга, принятых в ML-языках. И даже монад в python до сих пор нет, потому что синтаксис не позволяет их нормально записывать, а ведь это основы основ - без них невозможно в полной мере распутать код, избавиться от бойлерплейта... А в julia сделали ExtensibleEffects. Так же для julia одна из самых продвинутых библиотек трансдьюсеров в чем то даже лучше, чем в Clojure...
Самые быстрые языки в разных задачах (единого лидера нет): C/C++, D, Rust, Zig, Crystal, Chapel. Но если хотите реально быстрый код, пишите на Asm! Не благодарите 😁
Я уже попробовал его и пока это мучительно. Довольно много конструкций не работает с тем же подходом. Ещё один из минусов это пожалуй места для импорта из модулей Mojo. К примеру IO. В Питоне есть своя либа io и там свой набор функций, у Mojo там совсем другое. Я бы лучше дал ей уникальное имя или более подходящее среди существующих. Также Mojo-аналоги того же print и т.п. необходимо дополнительно импортировать, хотя ожидаешь что они уже будут как built-ins. Также пока без шансов что код питона прямо встанет в Mojo, на текущий момент пришлось бы переписывать много вещей. Ошибки, которые сейчас возвращает Mojo на код питона довольно нетривиальны и их совсем не ожидаешь. Конечно это дело практики уже, ну и реализации функционала. Надеюсь, что генераторы всё-же появятся в будущем, я их часто использовал.
Никогда не понимал и не пойму как может код любого языка что не на прямую компилируется в машинный код быть быстрее C/C++. Может в сравнениях использовались неправильные библиотеки/объекты. Ну, или маркетинг 😊
Для меня идеальный Python должен быть: 1) Статическая типизация 2) Компилируемый 3) Чтобы как рыз был struct 4) Более жесткий контроль при ошибках PS: И чтобы строгая типизация оставалась
Читал комментарий на хабре под статьей про Mojo - "Я правильно понял, что главное отличие от Cython в том, что Cython писал некрутой дядька, а это - крутой дядька?"
Это оболочка поверх Python, он скорее не заменяет, а расширяет, но как они будут это делать с технической стороны, я не знаю. Остается только наблюдать, так как сейчас очень мало информации о проекте.
Если программист дрочит на какой-то один язык, то это не программист. Это как автомобилист, который умеет ездить только на одном автомобиле. Самое простое в программировании - это как раз сам язык программирования. Кроме того, важна распространенность языка программирования. Чего толку учить какой-то непонятный Mojo, если потом ты просто не сможешь найти работу, зная только его. Важнее выбрать сферу, в которой интересно работать, а уже исходя из этого выбирать ЯП.
Настоящего разработчика от ютуб-балтуна отличает реально умение разрабатывать. Язык это минимум лишь инструмент для реализации. Нет смысла учить фишки языка если человек не умеет просто делать алгоритмы итд В итоге разработчики умеют писать код на чем попросят)
Нет, не только. Просто когда необходимо запустить обработку каких-то данных, скажем в 100 потоках, то Python разработчики выделяют для этого отдельные процессы, которые весят нереально много. А все из-за того, что если сделать это на потоках, то 100 потоков будут выполняться еще медленней чем 1 поток, вот в этом вся проблема последовательности и GIL. А если сделать нормальные потоки, то 100 экземпляров будут потреблять меньше, чем несколько запущенных процессов, а это огромная экономия памяти.
На Ютубе есть англоязычные ролики со сравнением тестов моджо и пайтона, которые показали х35к ускорение. Там Пайтон пытается обработать какие-то тяжёлые данные крутя их в цикле внутри которого еще цикл и еще и еще... В то время когда тест на моджо написан алгоритмически правильно плюс использует SIMD (что кстати и так доступно всем разработчикам абсолютно бесплатно, берите и используйте. У пайтона есть для этого отличная библиотека написанная на Cython). В добавок неизвестно на каком процессоре проводились тесты, большинство процессоров интел не поддерживают инструкцию AVX512 допустим, может быть моджо запускается на проце с поддержкой этой инструкции и бустит обработку. В общем там точно не х35000 если сделать тесты более адекватными. А так конечно mojo выглядит скорее как python4. Учить там практически нечего, так что когда выйдет просто положу себе этот язык в резюме)))
Небольшие улучшения в видео:
1. Добавил больше пауз (Многие говорили что не успевают улавливать мысль, так как говорю слишком быстро)
2. Убрал дефолтные и примитивные футажи с хакерами, которые всем надоели
3. Плавность и качество картинки (По сравнению с другими видео, текущее качество должно возрасти)
Если вы заметили эти изменения, то можете оставить свой комментарий под этим закрепом, чтобы я понимал, двигаюсь ли в верном направлении.
Также приветствуется конструктивная критика, я буду рад, если вы подскажете, что стоит добавить, чтобы видео было легче смотреть.
Спс
И это правильно, многое из перечисленного раздражало.
"1. Добавил больше пауз (Многие говорили что не успевают улавливать мысль, так как говорю слишком быстро)"... а я с на 1ю75 смотрю и мне норм...
А мне нравилось когда быстро говорил. Но так тоже хорошо.
Паузы + // заметил, стало определённо лучше, спасибо!
Сразу в объявлениях по найму -
Возьмем на работу Senior Developer - идеальное знание - Mojo с опытом работы на нем15 лет
😂 Если прекращать учить текущий язык когда выходит новый, то вы никогда не выучите не один.
1) изучение языка программирования не нечто сверх сложное, тем более зная один другие изучать гораздо проще
2) новые потенциально хорошие языки программирования не каждый год выходят
Наоборот, изучая этот язык ты с легкостью сможешь выучить mojo, а если ты выучишь mojo то у тебя появится шанс пробиться в IT
@@slimik4000 а как ты определиш хорошесть языка ?
@@slimik4000 старые тоже на месте не стоят, появляются новые либы. На саму "переобувку" уходит много времени. Это как если бы стол программиста переделывать в стол для столяра. Кому захочется всё время жить на чемоданах?!
Судя по комментам, к русскому это тоже относится
3:16 "Я хочу показать преимущества языка Mojo, которых очень сильно не хватает Python. Первое - это полная совместимость с экосистемой Python...". Не знал, что Python сильно не хватает совместимости с Python (самой с собой). :)
Не понятно почему в пайтоне нет режима статической типизации. Это хорошая новость, у Пайтона появится мотивация развиваться резвее.
Да, возможно этот проект даст больше мотивации для развития или внесет какой-то вклад в существующие технологии языка
ты прав, с тебя литр )
>>> Не понятно почему в пайтоне нет режима статической типизации.
А уже есть. Type hints + mypy == статически типизированный удав. По сути примерно то-же самое, что TypeScript, только там оно сделано в виде препроцесора, а тут в виде статического анализатора.
@@redneck_prm5429 тайпхинтинг и линтер это не статическая типизация) почитай про то, как устроено выделение памяти под переменные, и тд
Т.к. питон это язык прототипирования и для быстрого накидания программ научным сотрудникам и студентам, а не для продуктовых продуктов.
Ненужно ограничиваться одним языком. Разработчик должен развиваться и изучать все новое. Сейчас почти все IT отрасли используют Питон поэтому изучили его. Если через 10 лет они перейдут на Можо или на что то еще у которого будет такое же количество библиотеки и поддержки перейдем на этот язык. Это же не брак с питоном пока смерть не разлучит нас)) Это последнее о чем нужно беспокоится
поэтому давайте изучим rust)
нужно .....
Через 10 лет ии будет все делать.
@@art_vor Можно. Ведь если знать один язык и логику то все остальные лишь синтаксис. Был один профессор (не помню имя) и он начал изучать Питон в конце нулевых и у него спросили как прошла учеба он ответил что это был хороший день 😁
@@CC-nz2oc не только синтаксис, после пхп учить раст, или после джавы учить F# - отличный много найдётся)
1:20 2:25 Круто. Значит, можно будет взять интерпретатор Mojo (если у него открытый исходный код) и заменить в нём весь синтаксис на питоновский. Возможно, получится что-то более дельное, чем PyPy.
Впрочем, может хоть появление Mojo заставит разработчиков CPython сделать всё по человечески: добавить JIT-компилятор, многопоточность и прочие достижения прогресса в области ускорение программного кода.
Наверно именно, поскольку я выбрал python только из за простоты синтаксиса
в 3.12 можно работать без гила)
Зачем менять синтаксис? Не вижу в этом смысла!
0:55 "все боятся, что он может заменить Пайтон". Кто все? Я о нём впервые слышу😀 Предыдущий заменитель Пайтона был Джулия. Кто помнит?
:D
И тут в чат врываются «старички» для которых питон - проходная новомодная фигня которой болеют эникейшики 😂
Я как ворчливый внук C++, одобряю срач в коментах 😂
Язык это не только синтаксис, самое главное не в этом. Главное это сообщество, разработчики, мануалы, библиотеки, фреймворки. А так давно есть куча языков быстрее пайтона и почему они не заменили его?
@@juliap.5375 По факту питон всего на 7 лет младше плюсов.
Мне кажется, что Mojo до реализации полноценного языка ещё очень далеко и люди ещё очень не скоро позабудут питон. Рано очень говорить о том, что Mojo заменит питон. Мне кажется, что комьюнити питона может таким же образом сейчас поднапрячься и сделать питон многопоточным, ускоренным и т.д.
фуфел этот можа
Любой язык что бы попасть в ентерпрайз обязан пройти 10 летний срок обкатки.
Чтобы в питон добавить многопоточность, комьюнити питона должно знать c++
Я хз что должно произойти, чтобы питон вытеснили с линукса
@@ДмитрийСлабухин А она разве ещё не добавлена? А import threading что делает?
А почему мы должны бояться если появляется новый язык с знакомым синтаксисом но быстрее? Это же хорошо
Да, вот и я не понимаю откуда паника
@@zproger А паники нет.) Просто Mojo - это как изменить дизайн рамы велосипеда, а после преподнести сие как гоночный мотоцикл... То же самое и с Rust: изобрели монстра, у которого порог входа выше чем у С++. Вот эта типа эволюция в программировании похожа лабиринт в трех соснах. Mojo копия Python, у Rust синтаксис к которому привыкнуть, что подвиг совершить... Где реальный ароморфоз в программировании?
Видимо он думает что программисты не знают все языки ибо по другому анрил работать 🤣🤣🤣
@@coderun1344у Раста порог входа ничуть не выше. Для обучения есть прекрасный Rust book, синтаксис лаконичен и легко читается, borrow checker не даёт прострелить колено, Cargo позволяет управлять сборкой и библиотеками без ёли, стандартная библиотека обладает огромным набором структур данных и полезных методов, взять тот же трейт Iterator. Хоть он и позиционируется как системный, что подразумевает существенно более низкий уровень абстракции, но лично мне изучать его после JS и Python было легко и интересно
@@mipselqq3133 Желаю вам успехов в изучении Rust. И пусть Cargo - это действительно "сахар", но пока на Rust не написали ядро операционной системы ни Windows, ни Mac OS, ни хоть какого нибудь дистрибутива Linux. Причем с нуля... На чистом Rust... Ну если тяжело возьмите Mojo в помощь))
Ну, ждём новых новостей о Mojo. Обучиться, судя по синтаксису, будет проще простого. Как новую либу изучить.
Ага
не ждем ...
@@user-rt4nu4ni1z что значит "закрытого"?
Уже было миллион таких языков которые заменят "Python"
это да
ZProger, благодарю! Восхищаюсь качеством информации в ролике! 🔥👍
Спасибо!
Звучит очень круто! Уже ждём!
Безусловно звучит это все очень круто, и я надеюсь что ребята доделают язык и он станет популярен, если он действительно такой мощный. Но кто нибудь, объясните ему что программирование, это не про языки
Будем смотреть. Если последняя фраза была адресована мне, то я прекрасно понимаю что программирование это не языки, в конце видео как раз таки об этом говорил, не знаю с чего вы сделали такой вывод ;)
Почему языки это не про программирование? Это видео про язык программирования.
@@zproger не знаю замечал ты или нет, но многие люди любят писать не дослушав мысль доконца
@@shadow_blader192 наверное он о том, что язык - это про реализацию, а важнее структура, принципы и т.д.
Просто накодить костыль на коленке - сейчас такое не актуально. Только если для себя.
Кто-нибудь объясните ему. что нужно видео полностью смотреть, чтобы кидаться заявлениями.
Круто!)
Жду полного представления языка!
Благодарю!
Короче, Mojo это TypeScript с синтаксисом Python, некоторыми фичами C++, и некоторыми keyword’ами Rust
Посмотрим каким станет язык через лет 5
А вы знаете, что Engineering Director at Modular (контора что Mojo пилят) Tatiana Shpeisman является носителем русского языка? Может сможете через Linkedin договориться с ней об интервью? Они вроде сейчас активно продвигаются
А если она внучка эмигрантов, которая уже не знает русский язык?
Синтаксис пайтона - это скорее недостаток, чем достоинство.
кому как
Язык конечно хороший, но вот когда он выйдет, это вопрос, и к тому же ему понадобиться много времени чтобы доказать свою надежность. Но надеемся что он выйдет как можно скорее
Если Mojo будет так сильно похож по синтаксису и набору своих умений на питон , то тогда имеет смысл изучать питон , а после доизучать остатки Mojo и всё, конец
Не , лучше сразу тяжёлый учить , тогда уже пайтон будет понятен
@@prostopschelкакой например?
@@jimmydoe9566лично для меня самый сложный c++, но не думаю что изуча его будет легко учить питон
лучше сразу учить чем потом переучивать так как потом можно путаться. Взять в пример то, что я работал на пайтон месяца 2-3 и потом уже не было необходимости на нем работать и дальше я работал на языке Си, то забывал всегда ставить точку с запятой, это гооврит о такой вещи как привыкание. Привыкая ты потом с некоторыми усилиями будешь переучиваться, понимаешь? Поэтому я думаю что лучше учить моджо сразу, но поскольку его еще до сих пор нет, в связи с этим можно учить пайтон дальше, а после полного появоления моджо необходимость в изучении пайтона пропадет
скажи пожалуйста а какая у тебя операционная система линукс или виндовс? если можешь скажи какой линукс лучше для программмистов
Arch Linux. Про выбор дистрибутива есть видео на канале
А вы не могли бы прокомментировать для каких случаев будет верно утверждение о преимуществе в скорости в 35000Х, насколько я знаю преимущество С в скорости до 100Х?
Или же такое преимущество у Mojo в многопоточных вычислениях?
Я думаю это в совокупности от скорости обработки на одном потоке + полноценная многопоточность на проце
На англоязычном Ютубе есть ролики с разбором тестов моджо. Там Пайтон обрабатывает какое-то большое число данных в цикле, в котором еще один цикл и еще один... А можно при этом написан алгоритмически правильно, плюс использует SIMD, который кстати и так доступен практически всем разработчикам бесплатно. В добавок не раскрывается на каких процессорах проводились эти тесты. Большинство процессоров Интел допустим не поддерживают AVX512, хотя использование этой инструкции тоже должно дать значительный прирост в тестах моджо.
попробуй обрабатывать большие данные в питоне и увидишь что то что можно сделать за милисекунды он делает минуту.
Знаете мне уже не особо заходит программирование, но крутой синтаксис и аналог моего любимого языка заставил меня им поинтересоваться.
Есть вопрос по поводу потоков в Mojo. Как происходит общение между потоками? Как я понял в Mojo скорее процессы а не потоки а общение между процессами происходит немного сложнее чем между обычными потоками.
Из картинок я полагаю, что они таки реализовали весь инструментарий для управления общей памятью с семафорами и прочем, хотя в голове не укладывается как это работает с либами по типу numpy
не совсем понял про scalar c++
как mojo может быть быстрее почти в 8 раз?
И я такой, ждущий который год, когда же изобретут самый крутой ЯП и можно будет наконец начать что-то изучать 😂
Поменяй цель с "изучить язык" на "сделать нужный продукт" - и успех сопутствует тебе.
Что на счёт применения в анализе данных? Учу Python в рамках курса аналитика данных. Потом в силу сходства можно будет выучить и этот, и переносить код и данные?
Весь реальный прирост в производительности данного языка против CPython показывается на тестах с тяжелыми параллельными вычислениями, что в случае с CPython прекрасно покрывается библиотекой numba, которая компилирует Python код в нативный параллелизируемый бинарный код через LLVM.
Я уверен, что если сравнивать Mojo с CPython + Numba На этих же примерах, то там вообще не будет никакого прироста производительности, поэтому они этого и не приводят))
Очень похоже на то.
ты используешь линукс? если да, то какой это дистрибутив?
Добавлю своего мнения к видео. Да, в полне реально что mojo найдет применение помимо ИИ, но из коробки моджо быстрее только в некоторых аспектах. Вообще, единственное на мой взгляд существенное преимущество - LLVM, то есть если я знаю С++ и POSIX + к этому знать LLVMIR , то я смогу написать производительный фреймворк для веб-бэкенда например, будут ли этим заниматься питонисты? Плюсовики точно не будут, потому что С++ всеравно гибче. Понятно что кто-то это сделает, но ниша останется за ИИ. А вообще, если кто-то работал, например с Nvidia jetson, тот знает что ой как геморно версию питона поднять, я уж не говорю насколько геморно будет на моджо там переходить.... А в мире веб-бэкенда легаси ой как много, и даже там где немного, ой как много времени уйдёт для того чтобы уйти от пайтона на моджо. Короче, круто, перспективно, но не панацея. Я уже не говорю о багах компилятора, которые конечно пофиксят со временем. Кстати можете посмотреть на похожую реализацию - Codon.
0:56 Главный разработчик, который делает всё, а остальные ничего не делают.
Где-то я его видел...
Короче, сделали новый сахарный python. Это как Java->Kotlin , вот только Kotlin официально признал гугл, а этот Mojo кто возьмёт под крыло?
0:50 а я почти поверил, что ты главный разработчик :D
;))
ничего, что эта оптимизация в 35000 быстрее только в определенных целях, не удивительно, если уж совсем в специфичных случаях
да, я думаю это очевидно
Ничего не понял, но было очень интересно.
2:20 чтобы из NVIM-а выйти надо нажать сочитание клавиш " : + Q "
фух, благодарю
💀
Только на днях завершил обучение пайтону.( В 2022 году была нехватка программистов и от иннополиса на наш иниверситет выделили 1.5к мест, под эту программу и я попал. Буквально вчера защитил проект, простенький но из-за огромного числа расчётов он был на 420 строк до рефакторинга, цель проекта автоматизация расчета нории, расчет которой в ручную занимает 0.5-2 часов, а через программу несколько минут )
Не знаю пригодится в будущем или нет, т.к основное образование - инженер технолог пищевых производств, но я считаю, что нужно разнопланово развиваться.
Если пайтон и мойджин будут очень похожи, то думаю изучить его имея базу Пайтона будет легко.
Коротко о видео: моджно, пайтон, паника, еще ничего нет, не паникуйте, всё остаётся как было, расходимся. вывод: просмотр на перемоке х10
Лучше посмотрите видео, а то судя по комментарию, вы глянули только первые 30 секунд и финальную 1 минуту
Помню я местную рекламку японского похождения «Моджо, Моджо, мо-мо-мо, Мо-мо-джо...».
:D
@@zproger "Большая разница по-украински" эдаптировала как "Водка, водка, во-во-во, во-во-водка".
так в пайтоне уже с версии 3.5 есть асинхронщина, так что насчёт того что потоки выполняються поочередно можно уже давно забыть. Может по скорости пайтон и будет всё таки уступать но асинхронщина сейчас очень сильно набирает обороты даже с тем же FastAPI
Ну так потоки это ведь совершенно другая концепция, а Python полностью их исключает. Бывают задачи, где асинхронность не сможет заменить потоки, и также наоборот.
Мне кажется, что асинхронщина и многопоточность - это разные вещи. То-есть, они иногда совмещаются (те же горутины из голэнга например). Но в пайтоне именно асинхронщина. То-есть ты запускаешь одновременно много задач, но они делаются по-очереди на одном потоке. Именно об использовании разных потоков (и ядер) процессора пайтоном я не слышал.
@@zprogerв 3.12 пытаются сделать многопоточным
0:53 ZProger: Главный разработчик. Остальные ничего не делают.
Как появится в общественном доступе, обязательно сделайте обзор. Хочу залететь в тему раньше всех ))
Работодатели уже ищут разрабов на Mojo с опытом в 10 лет)
залетун ....
@@zproger блин )))
Этим мне и не нравиться прогресс.
@@zprogerахахахах
Что за прога где он пишет? Полное название пожалуйста (0:18)
А если он ещё будет совместим с python, то станет королём языков программирования
;)
Спасибо, очень информативно)
Благодарю за фидбэк!
0:53 Оценил юмор
:D
Клево. Супер. А что у них там с лицензиями? Язык выйдет под лицензией GPL?
Можно придумать специально медленную функцию на чистом Python, и оптимизированную на C. И то 3000 порядков не добьешься. Скорее всего это натянутая цифра. PVM очень эффективен, разница есть, но она не сравнима с преимуществами.
Да, так и есть: ВСЕ советы как сделать python быстрее - не пишите на python :)
Чел, какие 3000 порядков? Про 30000 раз речь была! Программирование - это не твоё, учитывая твои знания.
@@medvedvshapke да, нужно было 100500 написать, понесло духотой...
@@medvedvshapke у бенчмарк gflops накручивает
@@medvedvshapke 35 миллионов
Есть старая но верная поговорка, "х0й на х0й менять только время терять". Это про этот язык.
А ваш Mojo быстрее, чем С++?
Нет
Видео очень познавательная, ео есть много + и - Python
Плюсы
1 - Очень удобный язык для начинающих и профессионалов
2 - Доступность разных сред для этого языка
3 - Легче читать код хоть он и большой
4 - Помощь или корректировка языка
5 - Есть сортировка (именно в среде)
6 - Очень приятный и понятный для написания код
Минусы
1- Многозадачность (разные вычислмтельные действия или потоки)
2- Отсутсвия примеров по применениям разных функций или применение разных модулей для создание чего либо
Может есть еще минусы но Mojo заменить Python в плане крупных разработок ,очень крупных.
Для нейроситей язык будет полезен
Обожаю такие обзоры 👍👍👍
- хорошое расширение кругазора, познать и другие языки и главное понять разницу между ними 😉✌ спасибо!!!
питон мне в целом понравился, но практическое его использование для меня сомнительно, я пытался перейти с си шарп на питона и понял что я всё время трачу на поиски каких-то сторонних библиотек, которые еще и имеют проблемы, какие-то вообще не поддерживаются разработчиками, в итоге почти 1 гиг накачал всякого а свои программы повторить не смог. Молчу про GUI программы, это вообще боль. Про вэбы, бизнесы и студентов ничего не скажу, я этим не занимаюсь.
Когда этот язык выйдет в свет, я его изучу. Если к этому моменту Python не избавиться от GIL.
100%, сейчас учить нет смысла
всё понятно, это реклама собственного языка 0:53
Да....
А мы все так же ждём dot файлы... ( ´◡‿ゝ◡`)
;)
Если компилируемый, то конечно он быстрее. Да вот только 30 тысяч это мягко говоря маркетинговая замануха))
Время покажет получится у них или нет.
Ждём видео о новом gui , и не забудь показать о играх
В процессе ;)
Ребята, скажите пожалуйста, стоит ли начинать учить пайтон? Как понял пайтон и моджо похожи.
Язык интересный, но не стоит так плохо относиться к Питону. Я недавно общался с одим из разработчиков языка Питон, и он много интересного мне рассказал. В последних версиях они сильно его ускорили. На данный момент идет активное переписывание языка на уровне C и Ассемблера. Так что ждем новых релизов, возможно питон станет довольно быстрым
Пока не сделают jit или генерацию в код целевой машины - он будет интерпретатором, пусть и кода. Т.е. медленным, даже по сравнению с таким же динамическим языком как js.
Плюс пока не избавятся от GIL многопотока можно не ждать.
Видимо архитектурно cpython настолько плох.
>Язык интересный, но не стоит так плохо относиться к Питону.
К Python 3 - очень даже стоит. Помойка в python 3 начинается с самого языка и продолжается в pip. Плюс, наваливается с каждым новым релизом. Стандарта на язык нет и не будет, поэтому для долговременного использования он непригоден.
@@andrewbondaryuk Jit ещё для Python 2 был, да и сборка под целевую машину имеется хоть в каком-то виде. А медлительность связана с самим языком как таковым. Про GIL, который сильно ограничивает применение языка, уже упомянуто.
Привет, спасибо за видео. Подскажи пожалуйста что за OC у тебя и как настроить так же?
Привет, будет видео на эту тему
Нет такого "в Х раз быстрее" в целом. Покажи на каком именно коде.
Это не в целом по языку, а в определенных ситуациях, примеры можно найти в доке
Про nim - ок, но какие недостатки у julia? Oна зрелая, похожая на python, практически всем лучше и имеет перечисленные в видео достоинства: быстродействие по некоторым синтетическим тестам опережающее С, многопоточность из коробки, опциональная типизация, органичное использование экосистемы python, лин алгебра... и даже больше: распределенные вычисления, полноценное метапрограммирование на макросах, очень крутая фича множественной диспатчеризации и еще много всего... Единственный недостаток - долгая прекомпиляция при первом исполнении кода, которую можно заранее сделать, если что. И в целом, она намного более последовательная как язык - там нет, например, такого, как когда "гении" из python придумали на уровне языка затыкать проблемы безопасности веб-фреймворков и сделали ф-цию hash разной между сессиями... рандомные хэш-функции! это оксюморон какой то... В python очень много подобного... По поводу нехватки библиотек: много крутых разрабов библиотек, которые не смогли идеи воплотить в python ушли в julia. Например, MLStyle можете посмотреть, который вводит кучу видов деструктуризаций/паттерн матчинга, принятых в ML-языках. И даже монад в python до сих пор нет, потому что синтаксис не позволяет их нормально записывать, а ведь это основы основ - без них невозможно в полной мере распутать код, избавиться от бойлерплейта... А в julia сделали ExtensibleEffects. Так же для julia одна из самых продвинутых библиотек трансдьюсеров в чем то даже лучше, чем в Clojure...
Один из лучших комментов )
Опять байки про якобы быстрее Си
Быстрее си только ассемблер.
Самые быстрые языки в разных задачах (единого лидера нет): C/C++, D, Rust, Zig, Crystal, Chapel. Но если хотите реально быстрый код, пишите на Asm! Не благодарите 😁
:D
D помедленнее C++ будет, а в zig намного больше инструментария с управлением памятью + огромная обратная совместимость из С
@@ownedbyptr тем не менее в некоторых типах бенчмарков D выигрывает. Поэтому и написал, что единого лидера нет.
@@phat80 в каких это таких бенчмарках? Какие либы на с++ использовались?
Спасибо за видео.
Из видео я понял, это как nodejs и deno. Так и тут :).
Всегда найдётся, то, что быстрее
Согласен, но тут немного другая ситуация, так как это оболочка поверх Python
Расскажи это С
@@КимЧенОркassembler 😂
Я уже попробовал его и пока это мучительно. Довольно много конструкций не работает с тем же подходом. Ещё один из минусов это пожалуй места для импорта из модулей Mojo. К примеру IO. В Питоне есть своя либа io и там свой набор функций, у Mojo там совсем другое. Я бы лучше дал ей уникальное имя или более подходящее среди существующих. Также Mojo-аналоги того же print и т.п. необходимо дополнительно импортировать, хотя ожидаешь что они уже будут как built-ins.
Также пока без шансов что код питона прямо встанет в Mojo, на текущий момент пришлось бы переписывать много вещей. Ошибки, которые сейчас возвращает Mojo на код питона довольно нетривиальны и их совсем не ожидаешь. Конечно это дело практики уже, ну и реализации функционала.
Надеюсь, что генераторы всё-же появятся в будущем, я их часто использовал.
Никогда не понимал и не пойму как может код любого языка что не на прямую компилируется в машинный код быть быстрее C/C++. Может в сравнениях использовались неправильные библиотеки/объекты. Ну, или маркетинг 😊
Конечно маркетинг, заходу на такие кликбейты чтобы дизлайк поставить
популярность питона основана не на скорости, а на количестве сторонних библиотек и простоте
А если добавить скорость, то будет вообще идеально
Мысли того кто не шарит : нужно опять учить новый язык
Мои мысли : алгоритмы Красикова не ждут, неважно какой язык, нужно просто знать как сделать.
Точно)
сори за вопрос не по теме, а что за ОС используется в видео? очень классный интерфейс
я так понимаю это какой-то из линуксов?
Визуально - хайперлэнд де
Очень жду этого языка!!! Спасибо за информацию. В вакансиях по ML, DL, DS, BackEnd (Python) возможно появится еще одно требоваение - Mojo :D
Для меня идеальный Python должен быть:
1) Статическая типизация
2) Компилируемый
3) Чтобы как рыз был struct
4) Более жесткий контроль при ошибках
PS: И чтобы строгая типизация оставалась
я думаю это поднапряжёт разрабов пайтон и они мб выпустят Python 4 где быстрее будет всё
Кста интересно ты написал про ML,DL,DS и добавил backend либо я не догоняю либо что но зачем человеку который шарит за ии и тд backend?
@@flurixoww Я в целом писал. Питон и на бэк и на ИИ же хорош
Такой язык есть, rust
Спасибо! Хороший обзор. Может есть какая то группа в телеграмме по Mojo?
Достаточно перспективный язык, интересно посмотреть на дальнейшее его развитие
UPD: Я сейчас сижу на JavaScript и Rust (со вторым пытаюсь разобраться)
Согласен
Читал комментарий на хабре под статьей про Mojo - "Я правильно понял, что главное отличие от Cython в том, что Cython писал некрутой дядька, а это - крутой дядька?"
Они оба крутые дядьки)
@@zproger По вашему мнению, почему Mojo в отличии от Cython имеет шансы заменить Python?
Это оболочка поверх Python, он скорее не заменяет, а расширяет, но как они будут это делать с технической стороны, я не знаю. Остается только наблюдать, так как сейчас очень мало информации о проекте.
@@djangodev3191 это как js и ts, mojo - надмножество (superset) питона
@@ownedbyptr какая то ерунда. TS не делает JS быстрее и многопоточным. Не может быть, чтобы Mojo для Python был как TS
в 1500000 раз!!!!!!!!
да ;)
какая красивая система, рай для глаз... Возмжно ли увидеть дотфайлы конфигов WM / бара / терминала и пр?
Да, будет видео на канале
@@zproger буду ждать!
Если программист дрочит на какой-то один язык, то это не программист. Это как автомобилист, который умеет ездить только на одном автомобиле.
Самое простое в программировании - это как раз сам язык программирования.
Кроме того, важна распространенность языка программирования. Чего толку учить какой-то непонятный Mojo, если потом ты просто не сможешь найти работу, зная только его. Важнее выбрать сферу, в которой интересно работать, а уже исходя из этого выбирать ЯП.
Го видео о nim-lang? Компилируемый яп который очень похож на питон
сразу спрошу а там штота написана например што мозна исползавать свои питон код для подклучения в модзо
0:52 Пасхалочка 😀😀😀
:D
Это получается мой ТАПОК станет в 35 тысяч раз быстрее? Бегу учить.
Скорость в 30 000 раз быстрее это всё равно что собаке 5-я нога.
извините за такой вопрос но где вы разрабатываете vs code?
nvim
@@zproger спасибо
Настоящего разработчика от ютуб-балтуна отличает реально умение разрабатывать.
Язык это минимум лишь инструмент для реализации.
Нет смысла учить фишки языка если человек не умеет просто делать алгоритмы итд
В итоге разработчики умеют писать код на чем попросят)
Даже не верится что это видео вышел 6 месяцев назад
Такс, давайте посмотрим
;)
Вау! У тебя очень красиво выглядит интерфейс операционки, браузера и т.п. Где можно найти такой же?
Будет гайд на канале
У вас какая система?
кастом Arch Linux BSPWM
Т.е. по вашем много-поточность это только о том, чтобы выполнять код параллельно? А что с инструментами синхронизации, как это решается?
Нет, не только. Просто когда необходимо запустить обработку каких-то данных, скажем в 100 потоках, то Python разработчики выделяют для этого отдельные процессы, которые весят нереально много. А все из-за того, что если сделать это на потоках, то 100 потоков будут выполняться еще медленней чем 1 поток, вот в этом вся проблема последовательности и GIL. А если сделать нормальные потоки, то 100 экземпляров будут потреблять меньше, чем несколько запущенных процессов, а это огромная экономия памяти.
Хотелось бы про Rust видео, вы часто про него говорите.
И еще про Taichi мало в ютубе уроков, тоже интересно про него узнать.
Mojo это вообще водичка газированая😎
На Ютубе есть англоязычные ролики со сравнением тестов моджо и пайтона, которые показали х35к ускорение. Там Пайтон пытается обработать какие-то тяжёлые данные крутя их в цикле внутри которого еще цикл и еще и еще... В то время когда тест на моджо написан алгоритмически правильно плюс использует SIMD (что кстати и так доступно всем разработчикам абсолютно бесплатно, берите и используйте. У пайтона есть для этого отличная библиотека написанная на Cython). В добавок неизвестно на каком процессоре проводились тесты, большинство процессоров интел не поддерживают инструкцию AVX512 допустим, может быть моджо запускается на проце с поддержкой этой инструкции и бустит обработку. В общем там точно не х35000 если сделать тесты более адекватными. А так конечно mojo выглядит скорее как python4. Учить там практически нечего, так что когда выйдет просто положу себе этот язык в резюме)))
какая у тебя ОС ? Понравился таб сверху
Arch Linux. Бар сверху это конфигурация от Polybar.
Вывод, если Mojo максимально похож на Python то учить питона обязательно надо))
100%
2:17 а как же асинхронность в питоне? Там же можно так сделать
Зипрогер Пайтонович, я даже почти поверил))
:D
Нужно было назвать его не "mojo" a "python 4.0"
:D
подскажите какое у автора расширение на переводчик после выделения
TWP