Pull to refresh
120
0
Сергій Олендаренко @GooRoo

User

Send message
Поддерживаю.
Еще, кстати, по-моему Макс Шлее писал, что слоты могут быть виртуальными, но соединение с виртуальным слотом примерно в 10 раз медленнее, чем с невиртуальным.
А вообще, это глупый, холиварный спор.
Так вот, я должен заметить, Vampire: The Masquerade шел на моем Duron не лучшим образом, в то время как игры с графикой явно не хуже (от той же EA) у меня отлично работали.

Не думаю, что EA пишет игры на Java (с учетом того, что они даже придумали свою версию STL)
Слово «гандон», надо полагать, происходит от двух подряд идущих букв грузинского алфавита: соответственно «ган» გ и «дон» დ. Поэтому пишется это слово через «а».

А написал я это к тому, что по-моему пора прекратить холивар.
> «…„в совершенстве” (кстати, что под этим понимается?)…»

В том-то и дело, что это понятие крайне субъективно, и у каждого оно своё. Не хватало еще разводить демагогию по этому поводу. И так холиварим давно уже не по теме.

> «Алгоритм мало придумать — его надо реализовать. И желательно, чтобы реализация тратила минимум времени и средств».

Что-то в этом есть, однако без хорошего понимания алгоритмизации никакое знание языков вам не поможет — все программы будут медленными (будь они написаны на С++ или, к примеру, на PHP :)
Я писал, что сложность функции — довольно субъективное понятие. И если GCC не может с этим справиться, то наверное это его проблемы… Другие ведь могут!
Ну вот и давайте, Вы напишете небольшую трехмерную desktop-игру на Java+C, а я потестирую её на производительность на своем AMD Duron 1200…
Если функция у нас «килобайт в 50», то компилятор явно не станет копировать код в места вызова. А значит по какому-то адресу он поместит её код, а в месте вызова поставит call. Да, код функции будет повторяться во всех объектных файлах, где она юзается, но компоновщик на стадии линковки оставит в бинарнике только одну версию этога метода, о чем упомянуто выше в моей статье.
Меня не устраивает «достоточно», я хочу скорость «как у C-программ»
Я более чем уверен, что если в коде функции будет к примеру хоть один цикл, то компилятор не станет делать её подставляемой, так как в этом случае издержки на занесение параметров в стек и вызов функции командой call будут уступать выполнению самой функции (цикл породит гораздо более сложный asm-код). Посему не думаю, что эта функция будет многократно скопирована.
> «Нельзя, они же будут инлайновыми».

Как показывает Disassembly, тот же компилятор MSVC с настройками по умолчанию (без ключа /Ob1) встраивает не только inline-функции, но и другие, которые сам посчитает нужным встроить. Так что Вы зря переживаете по этому поводу.

> «Я слышал. в современных IDE тянуть скроллбар никуда не надо. Список методов обычно выводится слева от кода».

Хм, странно, у меня в notepad.exe ничего подобного нет…
> «А Си — быстрее Си++. Почему не пишут на нем?»

Потому что, опять же, С++ — это золотая середина. С одной стороны он позволяет добиться высокой скорости работы программ, а с другой — предоставляет возможность эффективно работать с большими проектами.
Ну да, чего уж там? Давайте учить пару сотен языков… Если попытаетесь знать все языки, в совершенстве не будете знать ни один. Есть люди, такие как Вы, которые расширяют свои познания, а есть, которые углубляют. Нужно найти «золотую середину»!

А главное — упор нужно делать не на языки, а на алгоритмы.
Вам никто не запрещает определять все методы внутри класса.

А мне вот лень тянуть скроллбар в больших классах в то время, когда мне просто нужно посмотреть интерфейс.
Сколько классы пишу, руки еще не отвалились :)
Прошу прощения конечно, но я смутно представляю, как можно слово «face» прочитать как «файс». Еще раз извините.
До статей о программировании с использованием Qt я еще тоже доберусь ;) Спасибо за поддержку.
Насчет Haskell я спорить не буду — скорее всего за функциональным программированием будущее (хотя я, к сожалению, с ним пока что практически не знаком). Но, если я не ошибаюсь, программы на Haskell все еще уступают по скорости аналогичным программам на C++… Я не буду отстаивать эту точку зрения, потому как просто где-то слышал такое, и буду рад, если сейчас это уже не так.

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity