Re[3]: Зачем воскресили питона ?
От: novitk США  
Дата: 10.10.19 22:14
Оценка: 1 (1) +1 -3
Здравствуйте, okon, Вы писали:

C# с которым ты носишься:
-- появился после питона, когда ниша скриптов уже была занята
-- еще несколько лет назад был Windows-only, когда ниша ML уже была занята
-- не предназначен для repl-a
-- не имеет продвинутых штук типа jupyter,
-- если использовать dynamic, ты занимаешься сексом в гамаке: все проблемы статики(тяжелое IDE, куча файлов и опций для сборки и т.д.), но не получаешь удовольствий (intellisense, compile time error checking)
-- если не использовать dynamic, то разработка сильно замедляется: нет repl-a, a есть куча лишних движений и суеты (типы, сборка, проекты, IDE и т.д.)
Re[4]: Зачем воскресили питона ?
От: okon  
Дата: 10.10.19 23:02
Оценка:
Здравствуйте, novitk, Вы писали:

N>Здравствуйте, okon, Вы писали:


N>C# с которым ты носишься:

Совершенно не принципиально пусь будет C, а не C#.

N>-- появился после питона, когда ниша скриптов уже была занята

N>-- еще несколько лет назад был Windows-only, когда ниша ML уже была занята
Windows-only ты говоришь про компилятор который был.
Но синтаксис как был так и остался, и как видишь тот же самый синтаксис можно вертеть как угодно — Windows-only, или кросс-платформ.

N>-- не предназначен для repl-a

Это опять же реализация тулзы , она не имеет отношения к синтаксису. Что мешает a = a + 2 выполнить как в питоновском синтаксисе так и в шарповом.
Зависит от того сделаешь ты repl или нет для языка. Вот в студии сделали например панельку там тебе Repl для шарпа.


N>-- не имеет продвинутых штук типа jupyter,


что за продвинутая штука ? https://jupyter.org/ ? эта штука вроде как 40 языков поддерживает в том числе C#.
опять же причем тут синтаксис, от того что вместо пробелов ты поставишь скобки { } или другие отличия синтаксиса такую тулзу будет не возможно сделать ?

N>-- если использовать dynamic, ты занимаешься сексом в гамаке: все проблемы статики(тяжелое IDE, куча файлов и опций для сборки и т.д.), но не получаешь удовольствий (intellisense, compile time error checking)

Почему не получу — вопрос такой же как и все выше — причем тут синтаксис.

N>-- если не использовать dynamic, то разработка сильно замедляется: нет repl-a, a есть куча лишних движений и суеты (типы, сборка, проекты, IDE и т.д.)

Это все опять про тулзы а мы про то зачем надо было новый синтаксис воротить для всего этого.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[3]: Зачем воскресили питона ?
От: okon  
Дата: 10.10.19 23:06
Оценка:
Здравствуйте, _ABC_, Вы писали:

_AB>Здравствуйте, Kolesiki, Вы писали:


K>>а ниша C++/C# доставалась бы им

_AB>С придумали дилетанты, чтобы не писать на ассемблере.
_AB>А С# вообще супер-дилетанты придумали, чтобы не писать на С++.

Путаешь, С и ассемблер это разные уровни абстракции.

С, C#, C++, Python это один и тот же уровень абстракции, те же if/for/ из которых ты рисуешь нужный алгоритм.
Причем С# можно сказать что подмножество С++ , с наложенными ограничениями, например нельзя писать Type* и т.п., а так синтаксис сохранен.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Re[4]: Зачем воскресили питона ?
От: alexzzzz  
Дата: 11.10.19 00:44
Оценка:
Здравствуйте, okon, Вы писали:

O>С, C#, C++, Python это один и тот же уровень абстракции, те же if/for/ из которых ты рисуешь нужный алгоритм.

O>Причем С# можно сказать что подмножество С++ , с наложенными ограничениями, например нельзя писать Type* и т.п., а так синтаксис сохранен.

C# и C++ сильно разные. Иногда похожи, как например тут, но множества просто пересекаются. Type* в C# написать тоже можно, если Type — это value-тип. Просто в C++ все типы такие, так что Type может быть чем угодно, а в C# не все.

Если натягивать сову, C# можно назвать надмножеством C. Надмножество того же размера, что и C++, но другое. Так сходу не приходит в голову ничего, что есть в С, чего не было бы в C#. Макросы разве что. Хотя про C у меня уже обрывочные воспоминания.
Отредактировано 11.10.2019 1:36 alexzzzz . Предыдущая версия .
Re[4]: Зачем воскресили питона ?
От: _ABC_  
Дата: 11.10.19 02:33
Оценка:
Здравствуйте, okon, Вы писали:

O>С, C#, C++, Python это один и тот же уровень абстракции, те же if/for/ из которых ты рисуешь нужный алгоритм.

Так зачем нужны ++ и #, если есть "голый" С?
Плодите сущности без необходимости.

O>Причем С# можно сказать что подмножество С++ , с наложенными ограничениями, например нельзя писать Type* и т.п., а так синтаксис сохранен.

Зачем? Это же дилетанство.
Re[3]: Зачем воскресили питона ?
От: varenikAA  
Дата: 11.10.19 04:31
Оценка: -1
Здравствуйте, okon, Вы писали:

O>Так синтаксис C# не сложнее, тем более вот это форматирование пробелами в питоне — чисто технарская фигня, еще надо понимать чем пробел от табуляции отличается, другое дело Begin End или { } там все видно нормально и без разницы сколько пробелов, многие не технари физики, математики , когда пишут код для своих вычислительных задач часто это форматирование для них на последнем месте и питон тут как кость в горле со своими отступами.


Пару слов за скобки.
Размышлял почему в си-подобных языках можно опускать скобки в случае единственного оператора и пришел
к выводу что отступный стиль строже. Нельзя по ошибке забыть поставить оступ.
В общем и целом, если не нужна суперпроизводительность, то главный критерий — корректность кода,
и язык с отступами помогает более ясно оформить логику.
Такой вывод я сделал на основании использования C#, F# и Nemerle.

#pragma indent
//с отступами:
when (true) 
    F1();
    F2();


//со скобками:
when (true) 
    F1();
    F2();
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[7]: Зачем воскресили питона ?
От: Privalov  
Дата: 11.10.19 05:05
Оценка:
Здравствуйте, okon, Вы писали:

O>Не обязательно указывать строгий тип, есть в синтаксисе C# тип dynamic.


dynamic иногда бывает полезен, но по возможности нужно обходиться без него. Граблей у него больше, чем преимуществ.
Re[3]: Зачем воскресили питона ?
От: amironov79  
Дата: 11.10.19 05:06
Оценка: +2
Здравствуйте, okon, Вы писали:

O>Мешает тем что это еще одно слово, лишняя сущность в виде Python она увеличивает энтропию, должно быть основание.


Так можно просто его не использовать, ничего про него не читать и даже вопросы на форумах не задавать.
Если серьезно, то основание простое: потому что язык простой, удобный и к нему есть куча батареек. Я тоже раньше скептически к нему относился, но попробовал и мне все понравилось. На любой чих есть библиотека, если вдруг нет, то есть развитый ffi. Сам язык логичный (за исключение пары моментов) и какой-то, как бы сказать, "воздушный" -- на нем легко пишется.
Re[3]: Зачем воскресили питона ?
От: student__  
Дата: 11.10.19 07:35
Оценка:
Здравствуйте, okon, Вы писали:
O>многие не технари физики, математики , когда пишут код для своих вычислительных задач часто это форматирование для них на последнем месте и питон тут как кость в горле со своими отступами
Может просто есть такие "технари физики, математики", которые oсиливают настроить редактор?
Отредактировано 11.10.2019 7:43 student__ . Предыдущая версия .
Re: Зачем воскресили питона ?
От: student__  
Дата: 11.10.19 07:40
Оценка: -1
Здравствуйте, okon, Вы писали:

O>Почему не дали ему спокойно умереть ?

O>Взяли бы для кросс-платформенности любой активный и живой язык C++/C#/Java например ? Зачем плодить сущности которые делают тоже самое ?
Если по существу, ты сам себе противоречишь. Питону может и можно было позволить умереть, но вот Java и тем более C# как раз "наплодившиеся сущности", т.к. появились после появления Питона. Из твоего списка Питон новaя сущность только по отношению к С++. Вот с С++ и сравнивай. Например, Питон образца 98 года и С++98. Вперед.
Отредактировано 11.10.2019 7:41 student__ . Предыдущая версия .
Re[4]: Зачем воскресили питона ?
От: Kolesiki  
Дата: 11.10.19 07:42
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Пару слов за скобки.


ПРО скобки, это не украинский.

AA>... отступный стиль строже. Нельзя по ошибке забыть поставить оступ.


А кто вообще сказал, что человек будет ставить отступ?? Полно в коде вещей типа

if (a) { smth(); return; }


Здесь второстепенная логика выражена одной строкой, чтобы не замусоривать экран. Пестонить этот оператор в 3 строки — кощунство.

Ну и кроме того, в эпоху Web'а, когда код копипастится в полный рост, просто глупо и опасно иметь отступы, ибо они копируются из браузера чёрте как — всё зависит от левой пятки дизайнера. Веб — ему вообще пофиг ваши отступы, он все их видит как одно. Не говоря о том, что иногда нужно переносить куски кода с "незавершённым синтаксисом". Колупаться в твоих пробелах — мне больше заняться нечем?? Просто пастишь C#'овые строчки, где надо — дополнил скобками. Всё. Надёжно как перфокарта.

Мне даже вопросов задавать не надо человеку, пишущему на Пестоне — там диагноз однозначен.
Re[2]: Зачем воскресили питона ?
От: Kolesiki  
Дата: 11.10.19 07:46
Оценка:
Здравствуйте, student__, Вы писали:

__> C# как раз "наплодившиеся сущности", т.к. появились после появления Питона


Ну а ты родился после Энштейна. Значит ты тоже того... неудачная сущность?

Пестон — плод больного воображения диктаторского типа, рождён ОДНИМ ЧЕЛОВЕКОМ.
C# — пусть и "переименованная Жаба", но туда вложились СОТНИ инженеров на коммерческой основе, имеющих опыт создания С++ и Васика.
Думаю, не надо объяснять, какой язык спроектирован более грамотно?
Re[3]: Зачем воскресили питона ?
От: student__  
Дата: 11.10.19 07:58
Оценка:
Здравствуйте, Kolesiki, Вы писали:
K>Ну а ты родился после Энштейна. Значит ты тоже того... неудачная сущность?
Неудачная? Кто сказал "неудачная"?
K>Пестон — плод больного воображения диктаторского типа, рождён ОДНИМ ЧЕЛОВЕКОМ.
Троллишь что ли? С такими мыслями лучше в раздел "Политика", там больше оценят.
K>C# — пусть и "переименованная Жаба", но туда вложились СОТНИ инженеров на коммерческой основе, имеющих опыт создания С++ и Васика.
Да хоть миллион. Linux вообще как студенческий эксперимент начинался. Но это не мешает сейчас работать над ним сотням инженеров на такой же коммерческой основе.
K>Думаю, не надо объяснять, какой язык спроектирован более грамотно?
Объясни сначала, что такое "грамотно спроектированный".
Re[5]: Зачем воскресили питона ?
От: AlexGin Беларусь  
Дата: 11.10.19 08:39
Оценка: :)
Здравствуйте, Kolesiki, Вы писали:
...

K>
K>if (a) { smth(); return; }
K>


А отлаживать-то как будешь?

Предположим, мне в debug-ере надо поставить точку останова (breakpoint)
на вызов:
   smth();


Как быть в этом случае?

P.S. если я распишу твоё выражение так:
  if (a)
  {
    smth();
    return;
  }

Оно не займет намного больше места в файле (тем более, что теперь хранение информации — очень дешовое),
но станет намного читабельнее и удобнее при отладке.
Re[6]: Зачем воскресили питона ?
От: Danchik Украина  
Дата: 11.10.19 08:52
Оценка:
Здравствуйте, AlexGin, Вы писали:

AG>Здравствуйте, Kolesiki, Вы писали:

AG>...

K>>
K>>if (a) { smth(); return; }
K>>


AG>А отлаживать-то как будешь?


Я вам открою большую тайну. Ставишь курсор на нужную точку и выбираешь из попапа Insert Breakpoint. Очень помогает когда надо простую пропертю отдебажить.
Re[7]: Зачем воскресили питона ?
От: AlexGin Беларусь  
Дата: 11.10.19 09:03
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Я вам открою большую тайну.


Ставишь курсор на нужную точку и выбираешь из попапа Insert Breakpoint. Очень помогает когда надо простую пропертю отдебажить.

Для начала — встречный вопрос:
В какой IDE это есть?

Если речь об MSVC — то да, там такое имеется. Я в курсе (и уже не первый год).
А если я делаю кросс-платформенное приложение и работаю не только в MSVC, но и в QtCreator?
И отладка в ОС Linux — окажется невозможной, так как там MSVC не работает...

P.S. Ограничивать себя приёмами работы, которые поддерживаются какой-либо одной средой разработки — плохо просто ужасно
Отредактировано 11.10.2019 9:07 AlexGin . Предыдущая версия . Еще …
Отредактировано 11.10.2019 9:06 AlexGin . Предыдущая версия .
Re[5]: Зачем воскресили питона ?
От: varenikAA  
Дата: 11.10.19 09:38
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Здравствуйте, varenikAA, Вы писали:


AA>>Пару слов за скобки.


K>ПРО скобки, это не украинский.


AA>>... отступный стиль строже. Нельзя по ошибке забыть поставить оступ.


K>А кто вообще сказал, что человек будет ставить отступ?? Полно в коде вещей типа


K>
K>if (a) { smth(); return; }
K>


K>Здесь второстепенная логика выражена одной строкой, чтобы не замусоривать экран. Пестонить этот оператор в 3 строки — кощунство.


Зависит от кодегайда принятого в команде.

K>Ну и кроме того, в эпоху Web'а, когда код копипастится в полный рост, просто глупо и опасно иметь отступы, ибо они копируются из браузера чёрте как — всё зависит от левой пятки дизайнера. Веб — ему вообще пофиг ваши отступы, он все их видит как одно. Не говоря о том, что иногда нужно переносить куски кода с "незавершённым синтаксисом". Колупаться в твоих пробелах — мне больше заняться нечем?? Просто пастишь C#'овые строчки, где надо — дополнил скобками. Всё. Надёжно как перфокарта.


Возможно...

K>Мне даже вопросов задавать не надо человеку, пишущему на Пестоне — там диагноз однозначен.


На питоне не пишу, синтаксис не очень нравится(подчеркивания, двоеточия). А вот F# самое-то в плане отступного синтакса:
module TimerExtensions = 

    type System.Timers.Timer with 
        static member StartWithDisposable interval handler = 

            let timer = new System.Timers.Timer(interval)

            do timer.Elapsed.Add handler 

            timer.Start()

            { new System.IDisposable with 
                member disp.Dispose() = 
                    do timer.Stop() 
                    do printfn "Timer stopped"
                }

Как видишь скобки используются но для другого, лепить все в одну строку тоже не йас как правило.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Зачем воскресили питона ?
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.10.19 09:44
Оценка:
Здравствуйте, okon, Вы писали:

O>Почему не дали ему спокойно умереть ?

O>Взяли бы для кросс-платформенности любой активный и живой язык C++/C#/Java например ? Зачем плодить сущности которые делают тоже самое ?

Дело не в кроссплатформенности, а в разделении труда и вытекающей из этого разницы в квалификации.
В МЛ пишутся два вида вещей — интеграция, и числодробилки. Числодробилки и так пишутся на Си/С++ и в принципе на чем угодно.
А вот интерграция требует ничтожной сложности со стороны ЯП. На эту роль не годится ни один из языков выше, т.к. их учить нужно слишком долго.
Re[2]: Зачем воскресили питона ?
От: Mr.Delphist  
Дата: 11.10.19 10:15
Оценка: +1
Здравствуйте, Sharov, Вы писали:

S>В ML пришло много нетехнарей, которым по сути надо fit\predict без особых сложностей. Также питон очень прост для экспериментов. Вот и взлетело.


Был тот же самый TCL — кроссплафторменный, дефолтный для многих дистрибутивов Linux. Почему не он?
Re[2]: Зачем воскресили питона ?
От: Mr.Delphist  
Дата: 11.10.19 10:30
Оценка:
Здравствуйте, scf, Вы писали:

scf>Не то же самое. Вот чем уникален питон:

Хммм, давайте сравнивать.

scf>- Динамическая типизация. Если надо распарсить json и извлечь из него даные — идеальный язык, т.к. не надо объявлять все типы и обвешиваться кастами.

TCL — аналогчино.

scf>- Легковесность. Скрипт на питоне стартует мнгновенно, потребляет мало памяти и быстро завершается.

TCL — аналогчино. Хотя "мало памяти и быстро завершается" — это ооооочень субъективно, для всех скриптовых языков (даже если брать во внимание всякие PyPy и т.п.). Сильно зависит от задачи.

scf>- Запуск исходного кода. Скрипты на питоне всегда можно открыть и пофиксить. Для переноса скрипта на другую машину достаточно скопировать исходник.

TCL — аналогчино.

scf>- Распространенность. Есть на любой никсовой системе.

TCL — аналогчино. И часто сразу предустановлен в дистрибутиве. Питон удостоился такой чести заметно позже.

scf>- Библиотеки, заточенные на выполнение типичных админских задач в одну строчку кода.

TCL — аналогчино. Тоже динамически типизирован, и готовых либ для него много. Само собой, есть и "package require json" для первого пункта.

scf>Любому программисту, имеющему дело с линуксом, питон будет очень полезен.

TCL — аналогчино.

Итого, какой вывод? Популярность языка — это 80% усилия по его насаждению, и 20% его замечательные свойства
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.