Где хвалённое ООП в других языках?
Там абстракция поизящнее - C++ и Java: в виде потоков ввода-вывода. Ничто не мешает перенаправить вывод в файл или в системный лог без изменения кода.
Узко мыслите, гражданин. Прям как МС, гыгыгы.
но я так и не понял - почему один out - ведь кроме консоли и другие вещи бывают
есть и in и err. А есть и java.util.logging, log4j, etc.
Да, есть в жабе и java.io.Console, если чё, с небольшими фичами типа ввода пароля.
Редактировался whoknows (29-07-10 14:37:14)
Питон умиляет - где там ООП? Нигде. Просто скриптовый язык.
От бля, от хелловорлда ООП ждёт
Питон - язык со смешением разных парадигм. В нём есть и полноценное ООП, и кое-что из функционального программирования. Если вам так нужен HelloWorld с ООП, ловите:
class HelloWorld():
def __init__(self):
print("Hello world")
HelloWorld()
Добавлено спустя 02 мин 13 с:
Что ж, а теперь, непосредственно, интеллигентный срач.
Что я вижу в C# и VB.NET - "устройство" Console, абстрагировано как статичный класс, у него есть члены. Например,перегруженный метод WriteLine().
Что я вижу в других языках? Туева куча хз чего, представляющее из себя флаги "это писать надо в консоли". Никакой организованности. Где хвалённое ООП в других языках?
Из остальных языков ближе оказалась ява, но я так и не понял - почему один out - ведь кроме консоли и другие вещи бывают. КРоме того, консоль - не только out, но и где-то она может in. И почему println()? Почему везде жуткие названия в стиле линуксячества "мы крутые и понимаем эти надписи только мы". Паскальный Writeln - это меньшее зло.
Питон умиляет - где там ООП? Нигде. Просто скриптовый язык.
С++ - ООП есть, но только вывод на консоль уже заставляет задуматься - а что курили авторы языка и было это 30 лет назад или ещё раньше?
Basic для меня сложнее и избыточнее того же паскаля(а я паскаль изучаю с 7-го класса), но VB.NET понятен и по моим критериям ООП подходит вполне. Всё аналогично, всё стройно и правильно структурированно.
Студент, с восхвалением .NET вам не сюда. Я конечно понимаю, что мсье К*рманов хорошо зомбирует, но не до такой же степени....
http://nolinux.w2c.ru - море баттхерта и деаонимизации
Неактивен
Я лишь хотел сказать, что даже я, junior в программировании, вижу такие бреши в логике языков. Я не против других языков. Но может быть, лучше не швыряться фанатами, а просто исправлять?
ЧСВ такое ЧСВ
Неактивен
Я лишь хотел сказать, что даже я, junior в программировании, вижу такие бреши в логике языков. Я не против других языков. Но может быть, лучше не швыряться фанатами, а просто исправлять?
Мдя... учебник по теории программирования в руки и в школу быстренько... Вы хоть сами поняли, какой бред сморозили?
http://nolinux.w2c.ru - море баттхерта и деаонимизации
Неактивен
ООП-язык - это Java, но библиотека у неё какая-то нестандартизированная. Шутка ли - вместо класса "консоль" есть классы "ввод" и "вывод".
Говорю ещё раз
- java.io.Console - для любителей консолей под Java
- in/out/err потоки не вчера придумали и это _гибче_ чем консоль, потому что они перенаправляются откуда и куда уходно. Хоть в файл, хоть на луноход "Гагарин".
Но ведь кроме консоли есть и другие устройства ввода и вывода.
А что хвалёный класс Console от хвалёного дотнет нам предложит в этом плане? В C++/Java проблем нет - Runtime.setIn(OutputStream), Runtime.setOut(InputStream), Runtime.setErr(InputStream).
Вызов Runtime.setIn(сигналСЛунохода) - позволит со стандартного потока ввода (System.in.read()) читать данные с лунохода.
Полагаю, что в дотнете проблема решена. Но повода для восторгов классом Console я не вижу никакого.
Редактировался whoknows (29-07-10 15:36:59)
были только консольными и требовали только мышь
Гыгыгыгыгы
Прошли те времена, когда ввод и вывод были только консольными и требовали только мышь и клаву.
Для графических приложений и решения другие.
Потоки ввода\вывода имеют свои классы и не привязаны к устройствам.
Рыли? А я думал что stdin stdout stderr привязываются при старте приложения. Даже в "об'ектной" винде.
Тут все кукукнулись? Читать лень?
Вопрос: как можно считать, что, к примеру, Python удобнее C#, если питон даже неструктуирован?
Для меня всегда в программировании первое место имели логика и законченность.
Я всего лишь выразил своё мнение, а не насрал в вашу тарелку с супом. Зачем же бегать и кричать?
Кукукнулись тут только вы, мсье студент. Вам не кажется странным, что вас гуманитарии (!!!!!!!) поправляют в вопросах по программированию?
http://nolinux.w2c.ru - море баттхерта и деаонимизации
Неактивен
Питон умиляет - где там ООП? Нигде. Просто скриптовый язык.
А вот тут, чувак, ты не прав. Ты просто не знаешь Питон. Он довольно-таки объектный, правда, не до конца в смысле структуры самих объектов, но в смысле объектного доступа ко всему - вполне. + еще элементы функционального программирования.
для print можно переопределить поток вывода, это я точно не в курсе с какой версии.
В третьем Питоне же print вообще является объектом, и пример от Mandriva-oid, вероятно, именно под третий, потому что скобочки (во втором их ставить необязательно).
запись print('Hello world') равносильна print.__call__('hello world'), c переопределяемым методом __call__.
Проверка:
>>> print(type(print))
<class 'builtin_function_or_method'>
Так что не торопись рубить с плеча.
Добавлено спустя 13 мин 38 с:
Продолжаем разговор.
Что я вижу в C# и VB.NET - "устройство" Console, абстрагировано как статичный класс, у него есть члены. Например,перегруженный метод WriteLine().
И на этом "объектность" заканчивается.
Ни System, который ты using, ни namespace объектами не являются.
в отличие от аналога в Питоне (версия даже 2, не 3):
программка импортирует модуль code b выводит по нему информацию:
import code
print(type(code))
print(super(code.__class__, code))
Вывод:
<type 'module'>
<super: <class 'module'>, <module object>>
super - это функция, которая возвращает предка. Причем она, что интересно, тоже объект.
>>> print(type(super))
<type 'type'>
Добавлено спустя 21 мин 53 с:
и сейчас я добью тебя окончательно в области Питона.
ну то, что функция type также является объектом, думаю, ты уже догадался.
Но объектом даже является группа аргументов, которые мы передаем функции! Объект типа tuple, или кортеж, по-русски.
Быстро я это проиллюстрировать не смогу, это надо в потроха Питона залезать, я это делал, и поверь на слово.
Добавлено спустя 33 мин 31 с:
Armanx,
Если ты читал мои посты, то знаешь, что я нифига не линуксоид, и еще очень уважаю дотнет, но давай все-таки будем честны.
И, ПММ, всюду-вытесняющая объектность - это все-таки больше шашечки, чем ехать.
Редактировался DonDublon3 (29-07-10 18:30:03)
"Фу бля, крохобор вонючий" (с) Svart Testare
Неактивен
- in/out/err потоки не вчера придумали и это _гибче_ чем консоль, потому что они перенаправляются откуда и куда уходно. Хоть в файл, хоть на луноход "Гагарин".
А что хвалёный класс Console от хвалёного дотнет нам предложит в этом плане? В C++/Java проблем нет - Runtime.setIn(OutputStream), Runtime.setOut(InputStream), Runtime.setErr(InputStream).
Полагаю, что в дотнете проблема решена. Но повода для восторгов классом Console я не вижу никакого.
Ну да, из справедливости к .net-у стоит заметить, что у класса консоли есть
Console.Out и Console.In - входные и выходные потоки.
Ну и так же легко получается доступ к эррно и т.д.
http://msdn.microsoft.com/en-us/library … mbers.aspx
И вообще, Console очень удобный иснтрумент (а пробовал писать я что-то языках на 20 и... все же начинается с Fucking World)))
Но это не значит, что остальные языки говно.
Так же я могу сказатЬ, что с точки зрения синтаксиса C# - очень здорово вылизан на ошбико-безопасный лад. И с логикой структурирования стандартной библиотеки - все хорошо. Что, кстати, в совокупности стимулирует хорошую структуру и не стандартных библиотек.
А арманух64 я посоветую изучить класс Debug
http://msdn.microsoft.com/en-us/library … debug.aspx
Тк.к. подозреваю, что он любит Console, тк.к. использует ее там, где ему бы надо было использовать Debug.
Ну и вобщем посмотреть, что предлагает .Нет в качестве готовы решений для логгинга.
http://msdn.microsoft.com/ru-ru/library … trace.aspx
И, например, NLog из не поставляемых из .нет.
З.Ы. Но отдельно хочу заметить реакцию линуксоидов в этой теме. И ведь спорят - даже не попробовав...
Редактировался Tiphon (29-07-10 18:45:57)
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
ООП - это не значит, что всё - объекты.
зачем-то множественное наследование классов используется
Armanx64, чесслово, с возрастом и реальными проектами пройдёт
Дело не в том, кто оопистее, а в том, что это сравнение слона с китом по длине рогов у обоих.
И ведь спорят - даже не попробовав...
Что именно пробовать? Класс Console?
А спорят тут с тем, что всё что не дотнет дужа не оопистое.
Причём, как оказывается, в Python - всё об'екты (и, наверное, прототипная модель наследования).
Ну да, из справедливости к .net-у стоит заметить, что у класса консоли есть
Console.Out и Console.In - входные и выходные потоки.
Ну и Console.Err должен быть, если МС в своём уме
Собственно, так и ожидалось
а Armanx64 - он единственный))))
64бітный
Редактировался whoknows (30-07-10 00:41:19)
Free Basic
Print "Hello, World! Слава роботам!"
Не ламерствуй лукаво.
"А петь мне нельзя - постановление суда" (с) Бендер
Неактивен
педолинуксом
Гыгыгы, я под педовиндой сижу.
Под линухом проблемы настроить нет. Так что счёт на табло в пользу линуха.
нет таких языков, которые бы были более структурированы и логичны, чем C# и VB.NET.
Ну даже комментировать не буду.
Редактировался whoknows (30-07-10 01:26:02)
Что именно пробовать? Класс Console?
.net или жабу
А то на ребят, которые к 3 курсу узнали, что есть С++ и кричат, как они на нем программят и вступают в споры, что во всем мире нет ничего круче С++ - тоже грустно смотреть.
Но это, скорее, к нашему образованию.
Вон в МИФИ сейчас друг в приемной комиссии работает. Рассказывают приходят лбы: "Я подал заявление в академю ФСБ, летное училище и МИФИ на К. И я не знаю, куда больше хочу." - вот хоть плачь...
А спорят тут с тем, что всё что не дотнет дужа не оопистое.
Да я понимаю... Считай это я так... От грусти))
Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.
Неактивен
а как тогда объясните эти вечные костыли в тексте?
Костыли оттого, что белорус я. Российская раскладка мне нафиг не сдалась из-за одного форума. Под линухом я могу на альт забиндить российские и щ и твёрдый знак, а под виндой мне можно только пасьянс "косынка" запустить. "Такова селяви". Винда - убожество. Под неё только софт нормальный.
Российское и вставляю через ctrl+v и то, только потому, что тру і вы адекватно воспрінімать откажетесь, не так лі? (замечу, что это не латінское і)
Вопросы?
Ну не мак у вас, точно. Там только с ё плохо.
Гыгыгы, что ж под линухом с "ё" всё хорошо? Наверное, потому, что его разрабатывают дауны.
Редактировался whoknows (30-07-10 01:50:44)