#include <iostream>
int main () {
std::cout<<"Hello";
return 0;
}
поток вывода (или «выходной поток») используется для хранения данных, предоставляемых конкретному потребителю данных: монитору, файлу, принтеру и т.д. При записи данных на устройство вывода, это устройство может быть не готовым принять данные немедленно. Например, принтер все еще может прогреваться, когда программа уже записывает данные в выходной поток. Таким образом, данные будут находиться в потоке вывода до тех пор, пока принтер не начнет их использовать.
1. STL используется в педагогических целях или в С реально нет нативной функции для простейшего вывода на экран? После бейсиковского Print это выглядит странно.В С/C++ нет такого понятия как "нативная" функция. Все функции нужно объявлять или импортировать. С++ унаследовал это свойство от С, который расчитан на написание ядер операционной системы, где действительно простейшие вещи нужно реализовывать самому. Но для "обычных" программ для этого есть стандартная библиотека.
2. что именно делает функция cout?cout -- это не функция, это специальный объект, с которым можно производить разные операции. Одна из этих операций -- "<<" -- послать данные в поток.
короче, подсмотрел, что Питоне то, что выше - print (“Hello”) :lol:А в Lua: print "Hello".
В Basic табы не синтагматичны.вы о деталях, а я о принципах. интерпретатор, а не компилятор, построчное исполнение, конец строки - конец высказывания, при ошибке - стоп на строке с ощибкой и т.д. Пока что бейсик - бейсиком ??? :-\
вы о деталях, а я о принципах. интерпретатор, а не компилятор, построчное исполнение, конец строки - конец высказывания, при ошибке - стоп на строке с ощибкой и т.д. Пока что бейсик - бейсиком ??? :-\Исполнение там не построчное, но в принципе да, похож.
И вообще программы на Python вполне себе компилируются в exeшник.Этот exeшник -- просто байткод и интерпретатор байткода.
конец строки - конец высказыванияНет, в Питоне существует куча способов разбить высказывание на несколько строк
return {
"structural": {k: (v + 1) / 2 for k, v in data.get("morphs", {}).items()},
"metaproperties": {
k: v
for sublist, v in (
([("character_" + k), ("last_character_" + k)], v)
for k, v in data.get("meta", {}).items()
) for k in sublist
},
"materialproperties": data.get("materials"),
"type": data.get("type", ()),
}
при ошибке - стоп на строке с ощибкой и т.д.Бейсик мог выполняться даже с синтаксической ошибкой, пока не натолкнётся на это самое место, а Питон сразу пишет Invalid syntax и отказывается выполнять файл вообще. Ну и хорошо, что в Питоне нет этих диких End Sub, Next, и самое главное -- нормальный try-except вместо On Error Goto X.
А в Lua: print "Hello".Писал об этом на ютубе, здесь ещё раз напишу: в Lua бесит отсутствие нормальной поддержки 64-битных целых чисел, в то время как Питон с лёгкостью посчитает факториал тысячи и выдаст результат с точностью до последней цифры.
С этим не спорю, меня просто покоробили некоторые детали высказывания, но общий смысл высказывания верный.давайте я заранее 100500 раз извинюсь за профанство, некомпетенцию и т.д., но как бы посмотрите на название темы? У нас уже есть граммар-наци на сайте, зачем ещё кодинг-нацизм разводить? :) Неужели вы на секунду подумали, что я не понимаю, что ни один язык не будет 100% копией другого, иначе они не были бы разными языками? Но это всё - обязательная нумерация строк или использование табуляции для создания блоков - это всё важно для безукоризненного выполнения, да, но это вроде занавесок в горошек для меня.
import sys
if __name__ == "__main__":
sys.stdout.write("Hello")
вы опять о деталях, которые в данном случае несущественны. Вот давайте сравним Питон и С++ с Бейсиком попарно и попробуем угадать: какой язык проще зайдет бейсикисту со стажем? Где есть переносимые навыки, а где учиться с нуля? А то, что строчки можно \ разбивать - мишура, мелочь которая мало (или вообще никак) не влияет на сложность изучения языкаРасскажу о себе. Начинал в детстве с Бейсика (исключительно классического, другие варианты оного не пробовал). Потом в школе учили Си (с использованием вот этого "плюсового" ввода-вывода, ну, тогда он писался чуть по-другому, но в целом в том же стиле), зашло отлично, потом ещё сам подучил Си и немножечко плюсов (правда, в архаичном варианте - ну т.е. современных полноценных плюсов со всеми позднейшими фишками особо не знаю, но, думаю, если надо будет покодить некий алгоритм на практике, смогу покодить, не влезая в эти дебри или по минимуму освоив использование тех из фишек, которые задействуются в применяемых библиотеках).
Очень странно, что в школе был С++. Продвинутая школа оказалась.Более правильно было бы сказать, что там был Си. От плюсов использовали по сути вот только этот "потоковый ввод-вывод", для удобства. Но что это такое, что такое классы, ООП - этого у нас тогда не было, просто потоковый ввод-вывод показали как некую данность. А так, учили процедурному языку фактически, и только на самом простейшем уровне. Так-то можно было бы, конечно, блюсти чистоту жанра и использовать строго классические сишные библиотеки ввода-вывода - но это потребовало бы сразу же учить язык более серьёзно - с указателями, управлением памятью и всё такое - а на это, видимо, не было времени или уверенности в готовности всех школьников к такому.
Интересно, каково Вам от Haskellʼа?Не пробовал и даже не смотрел на него, совсем не знаю этого зверя даже приблизительно.
надо было детям питон преподавать и не засирать мозги :negozhe:То, что синтаксис питона на порядок (а то и более чем на порядок) сложнее синтаксиса Си (по крайней мере, без плюсов) - имхо, бесспорный факт. Сложный синтаксис может быть оправдан для программистов-практиков в частных областях деятельности, где это радикально сокращает физически объём набираемого и читаемого текста (например, в тех же Перле и Питоне ради работы со строками), когда речь идёт о реально больших программах и модулях. То же самое ООП со всеми причитающимися штуками - тоже только для практиков-профессионалов с большими программами.
надо было детям питон преподавать и не засирать мозги :negozhe:
for _ in range(5):
...
Использование подчёркивания неочевидно. А если попытаться объяснить смысл первой строки? "Чтобы повторить 5 раз, мы переменной, которая нам не нужна, проходим по некой коллекции длины 5, получится как раз 5 раз; эта коллекция - похоже на список, но не список". Мудрёно.То, что синтаксис питона на порядок (а то и более чем на порядок) сложнее синтаксиса Си (по крайней мере, без плюсов) - имхо, бесспорный факт.
Хотя бы за самостоятельный булев тип.Это же вроде в C99 уже исправили, а может даже и раньше.
То, что синтаксис питона на порядок (а то и более чем на порядок) сложнее синтаксиса Си (по крайней мере, без плюсов) - имхо, бесспорный факт.”бесспорный» для вас? потому что мировое сообщество думает наоборот :negozhe:
может потому что не надо делать через задницу? Что сложного в while?Code: [Select]for _ in range(5):
Использование подчёркивания неочевидно.
...
i = 1
n = 5
# while loop from i = 1 to 5
while i <= n:
print(i)
i = i + 1
может потому что не надо делать через задницу? Что сложного в while?Code: [Select]i = 1
n = 5
# while loop from i = 1 to 5
while i <= n:
print(i)
i = i + 1
Из современных языков пожалуй у Go самый простой синтаксис. Как ни крути, а препроцессор у C ещё менее интуитивен, чем питоновские циклы.
Это же вроде в C99 уже исправили, а может даже и раньше.
так вопрос в чем: показать детям, что такое программирование или давать малозначительные детали, которые могут поменяться в следующей версии? С точки зрения педагогики while куда более понятнее и интуитивнее. Да и универсальнее
for _ in range(n) - идиоматичный питон, почему через задницу. Но вообще, while вместо for - это как-то фе, в любом языке. For на то и существует, чтобы вручую счётчик не менять в теле цикла. А питон со своими вездесущими итераторами сознательно сделал ставку на for.
У Кушниренко while - следующая тема.