![]() |
Холивары с Монстром
Enchantner,
Цитата:
Цитата:
BlizzardJedi, GPGPU эффективны только при больших объемах однородных данных, которые минимально включают в себя линейные участки кода, где до вычисления промежуточных данных невозможно определить адрес перехода на следующую инструкцию. Про условные переходы - не совсем верно, я еще в 2006 году писал на шейдерах с использованием условных переходов, обнаружил что набор команд уже достиг почти тьюринговской полноты, и мечтал о более удобных средствах описания алгоритмов. И через год NVidia прочитала наконец мои мысли. |
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
|
BlizzardJedi, разумеется: http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Enchantner, Можно и в блокноте, но в условиях отступов регулярное возвращение к написанному коду в простом текстовом редакторе без средств контроля табов превращается в блуждание по минному полю. Про кроссплатформенность я помню, но она нужна там, где она нужна по ТЗ, и там кстати прекрасно справляются Java и Mono. Цитата:
|
Цитата:
Цитата:
Цитата:
В общем, это вечный спор, кому что удобнее :) В защиту легко сказать, что код на том же C++ можно, наплевав на расположение скобок, превратить в такую кашу - мама дорогая. А в питоне это невозможно по определению, именно это делает его очень удобным для поддержки и снижает порог вхождения для чтения чужого кода. |
Enchantner,
Цитата:
Цитата:
Цитата:
Цитата:
|
[CCCP] Monster, Enchantner, каждому программисту не угодишь. Поэтому и появляются C++, STL и прочие вещи, которые программисты создавали для себя и под себя.
[CCCP] Monster, механика! Только механика! ) |
[CCCP] Monster,
Enchantner, объясните как вообще можно сравнивать полноценный язык проверенный десятками лет и непонятно откуда выползший скриптовый язык? |
Hast
Как бы питон уже тоже далеко не младенец) |
Hast,
Как бы питону уже 21 год :sml: |
Hast, как-бы речь про концепции вообще, и место, в которое они ведут. У питона - нехорошее.
|
Цитата:
Цитата:
|
Enchantner, Есть предпочтения сугубо личные вроде цвета или вкуса. А есть технические возможности, которые можно измерить. Я использовал именно вторые.
|
[CCCP] Monster, то есть ты сравнивал технические возможности Java-C/C++ и питона? Или ты про сишарп? Круто. Я бы так не смог, особенно если учесть, что это языки для совсем разных целей. Это если не вспоминать, что один компилируемый, а другой скриптовый.
|
Enchantner, я говорил о технических концепциях реализации синтаксиса и его привязки к средам разработки, технологии я никак не сравнивал.
|
[CCCP] Monster, если бы везде был один и тот же синтаксис - язык бы тоже был один. А среды разработки есть как нормальные, так и отстойные для всех языков. Причем тут именно питон? Тем более что для питона теперь есть тот же PyCharm.
|
Enchantner, Через синтаксис реализуется концепция. Только часто для поддержки концепции также нужна особая технология, не имеющая нативной поддержки в ОС и процессоре. Поэтому такие системы тащут за собой фреймворк+интерпретатор/ВМ или еще что-то. Именно питон тут притом, что помимо в общем-то стандартных концепций вроде ООП, функционального программирования и т.п. есть еще очень специфическая синтаксическая особенность, не относящаяся к реализации технологий и не влияющая на общие возможности языка, но полностью убивающая возможности по внешнему анализу и управлению блоками кода, за исключением автоматической простановки табов при переходе на следующую строку. Эта особенность питона исключительно неприятна, и при этом другие языки, аналогичные по возможностям, лишены этой проблемы. При этом неприятность проблемы заключена именно в проблемах с эргономикой абсолютно любой среды программирования, которая будет работать с синтаксисом питона, потому что в случае с таким синтаксисом надежные знания о блоках кода имеются лишь в голове программиста, и оттуда их никак не извлечь, если только он сам не пожелает. Результатом этого становится геморрой при поддержке уже написанного кода, если его требуется менять, т.к. включать свою внимательность приходится на всю катушку, причем там, где можно было бы просто автоматизировать процесс, оставив его на откуп машине, которая всегда внимательна.
|
Цитата:
|
Enchantner, Я делаю такой вывод на основании отсутствия внятного закрывающего блок символа. Поэтому система просто не может определить, где отсутпы делать, а где нет.
|
[CCCP] Monster, это должен определять программист, а не система. Ты бы еще сказал, что блокноты должны автоматом определять, где JNZ, а где JE в ассемблере. Да и ошибку, как я уже сказал, в коде с отступами отлавливать гораздо проще, имхо. Особенно при таком хорошем трейсбэке.
Скрытый текст: |
[CCCP] Monster,
Судя по вашей ненависти к питону, вы кроме его интерпретатора ничего больше ничего не видели, поэтому и пишите полную чушь. Все современные IDE сами делают отступы, когда надо. Тот же PyCharm или MC Visual Studio с ironPython на борту. Читаемость кода без не пойми где расположенных скобок и ковычек(споры о расположении которых ведутся до сих пор). Читается и поддерживается такой код легко, даже без дополнительных комментарием, т.к. практически сразу понятно, что именно делает тот или иной участок кода. |
Enchantner, Да, переползем сюда.
Верно, программист и определяет. Только получается, что когда ты ставишь скобку - эта скобка там и остается, и внутри блока можно работать, не опасаясь, что там что-то куда-то не туда денется. У питона нету второй скобки, там очень запросто можно при редактировании кода, особенно при автозамене, съехать с нужных отступов, и потом собирать кости по всему коду. †Grave†, Споры о расположении скобок и форматирование текста внутри них должно разрешаться средой программирования. Про остальное написал выше. |
Цитата:
|
Enchantner, А если ты где-то в середине редактируешь код, автозаменяешь какие-либо куски, содержащие символы конца строки, или вставляешь код?
|
[CCCP] Monster, а какая проблема со вставкой отформатированного кода? Все отступы сохраняются, а двигать блоки туда-сюда в случае чего умеет любой редактор. И в итоге код читается нормально по-любому, а не мешанина из скобок.
|
Цитата:
Мне вот как-то без разницы, что нажать "{", что Tab или "}" и Shift+Tab %) |
adVISeR, В основном за меня это делают среды разработки. В VS C++ IntelliSence конечно не так божественен, как в C#, но такие вещи он делает.
Добавлено через 2 минуты Enchantner, Зависит от того, как ты копировал код из другого места. Но в итоге ты вынужден внимательно проверить, все ли в порядке. |
[CCCP] Monster, ну да, а для утечек памяти - Garbage Collector, а для исправления косяков в коде - синтаксический анализатор и компилятор. В итоге смысл программирования с отловом ошибок ручками и оптимизацией скорости сведен к нулю - приходим к тому же тыканью по кнопочкам и рисованию окошек.
|
Enchantner, Эээ, не совсем так. Синтаксис управляющих конструкций в данном случае не влияет на технологические возможности генерации кода. А то о чем ты написал - очень даже хорошие штуки, если речь идет о том, что надо сделать быстро, и что не требует быстродействия. Вот интерфейс как раз относится к таким вот вещам, которые желательно сделать побыстрее.
|
Цитата:
|
[CCCP] Monster, интерфейс да, хотя и то готовые виджеты далеко не всегда обеспечивают всю требуемую функциональность. Delphi, собственно, до сих пор и жив благодаря простоте и скорости разработки на нем оконных приложений.
Еще некоторые вообще ухитряются сравнивать, что удобнее - высокоуровневый язык программирования или высокоуровневая и интуитивная среда для работы с низкоуровневым языком. Естественно, что все зависит от задачи, однако я считаю, что периодически второе становится большим злом, если начинает слишком уж усердно "заботиться" о программисте. Это примерно как код веб-страниц, сгенерированный с помощью Microsoft FrontPage - куча мусора, табличная верстка, и при всем том, что это как-то работает и даже более-менее красиво, это не имеет никакого отношения к настоящей разработке (в данном случае, верстке) вообще. |
adVISeR, Дык косяк в том, что из-за отсутствия конечного символа блока кода, парсер ИДЕ питона просто не знает, где закончить уже эти отступы делать.
Enchantner, Ну, сейчас Делфи в 90% - это поддержка старого кода. Остальные 10% - это все студенты. Я не знаю, зачем и кто ухитряется сравнивать абсолютно разные в реализации технологии (я все-так предпочитаю рассматривать системы в полном составе - Язык-Компилятор-Код, Язык-Компилятор-Виртаульная Машина, Язык-Интерпретатор, иначе однобоко получается и всей панорамы не видно), но популярные среды в основном таки толково подсказывают и форматируют. |
[CCCP] Monster, то есть единственная проблема - это невозможность автоматического завершения блока редактором, и из этого ты делаешь вывод, что питон - хреновый язык?
|
Enchantner, Я из этого делаю вывод, что это один из неприятнейших элементов эргономики языка, который опускает Питон по сравнению с другими аналогами.
|
[CCCP] Monster
По-моему у тебя религиозные проблемы)) Между фигурной скобкой и табуляцией лично я разницы не вижу %) |
adVISeR, разница такова, что при модификации текста фигурная скобка остается в той смысловой точки, где ее поставили изначально, а табы важны для каждой строчки индивидуально, и такая синтаксическая особенность вынуждает программистов проявлять дисциплину там, где она по сути не требуется - достаточно встроенного в среду автоформатирования кода. Здесь же автоформатирование добавить затруднительно, т.к. информация о смысловой точке завершения блока кода, которая раньше выражалась лексемой } или end; или еще как-то, теперь отсутствует, и компилятор не может догадаться, где программист хотел сделать табы, а где нет.
|
Цитата:
|
Enchantner, Я не "нашел и придрался" - странно выглядит рекламная кампания питона с пунктом о "гениальном решении" с табуляциями, которые по сути создают больше проблем, чем решают. И как именно система понимает, что блок завершен неверно? Там же строгое построчное разделение выражений, какая ему разница, вошло следующее выражение MyVar += 2 в описанный выше for или нет?
|
Цитата:
Цитата:
P.S. На мой взгляд, единственное преимущество именно в построении языка у C/C++ перед питоном состоит в наличии нормальных const методов и объектов, а также продуманной приватности/инкапсуляции. В питоне это считается ненужным, я до сих пор не очень понимаю, почему так сделано. |
Цитата:
Эти табы - нечто из разряда бэйсика с его 10 20 30 40. Абсолютно согласен с Монстром. Вот представить ситуацию, когда копируется строчка кода, а при выделении отступ перед строчкой потерялся. Вставил и забыл - точнее пошел в другие места вставлять. В результате действие внутри цикла или проверки выпадает из них и да здравствует великий трындец. В любом "скобочном" языке скобки можно автоформатом расставлять, вместе с отступами - практически любая IDE это позволяет из коробки. Читаемость кода от этого только улучшается благодаря отделяющим строкам со скобками. Пример Код:
do thmsng |
Цитата:
Цитата:
|
Enchantner, Ну так лексический анализатор обнаружит нечетное число открытых или закрытых скобок и скажет тебе об этом. А про недоставленный таб тебе никто ничего не скажет.
Enchantner, Цитата:
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Enchantner, да никто и не гнобит. А особенности эти слишком особенные. Выходят из шаблона мышления и привычки. А так как язык - лишь инструмент, то это только создает неудобства. Как например писать тридцатисантиметровым карандашем - его и потерять сложнее, и почесать спину можно в случае чего, но не удобно ведь - если привык к десятисантиметровым перьевым ручкам.
|
Enchantner, Очень сильно достают те косяки, где ты по невнимательности ошибаешься. При этом множество таких ошибок можно отследить алгоритмом анализа кода. Если хочешь сделать эффективный инструмент, надо предусматривать возможности для нивелирования ошибок. Разработчики питона, решив поместить кобуру пистолета стволом к ноге, в надежде что это поможет дисциплинироваться и писать читабельный код, устроили проблему, связанную с ошибками по невнимательности, с которой еще наплачутся. Также как наплакались в С с оператором ==
|
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Enchantner,
Дык вопрос не в том, когда появился, а в том, как спроектировали. И потом, если он так крут и древен, почему менее популярен, чем Перл или Джава? |
Цитата:
И да, по простоте питон на базовом уровне может освоить даже школьник. И "неудобные" синтаксические особенности как-то незаметно идут лесом. |
Цитата:
На пайтоне написана замечательная программулина myPaint, только вот самое кошерное в ней написано на сях, а пайтону отдан по сути только ui, да общее управление. |
Цитата:
Цитата:
По-моему, мы опять скатились в тупое |
| Часовой пояс GMT +4, время: 00:45. |
Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.