aruslan: (Default)
[personal profile] aruslan
Ограничения решают, факт.
И Линус идёт на полный и тотальный пролом!

http://article.gmane.org/gmane.comp.version-control.git/57918

Особенно понравилось
  Quite frankly, even if the choice of C were to do *nothing* but 
  keep the C++ programmers out, that in itself would be a huge 
  reason to use C.

via [livejournal.com profile] sim0nsays


Update: Не забывайте читать камменты дальше по ветке - там Линус отвечает на вопросы и W.B. который "D" получает ответы :)

Date: Sep. 14th, 2007 15:35 (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
>никогда не видел такую либу. где посмотреть?
#include <stdio.h>
FILE * - как полиморфный объект (либо скрывающийся за ним int-дескриптор/HANDLE под виндой).

Date: Sep. 14th, 2007 15:40 (UTC)
From: [identity profile] neteraser.livejournal.com
C-lib? не положено юзать. положено юзать platform sdk.

так или иначе, это разве попытка реализовать виртуальные классы и наследование? :)

Date: Sep. 14th, 2007 15:52 (UTC)
From: [identity profile] cyberzx.livejournal.com
Ну вот тебе freetype
http://freetype.org/freetype2/docs/reference/ft2-glyph_management.html
Тут тебе и полиморфизм и наследование и инкапсуляция. Всё на ANSI C.

Date: Sep. 14th, 2007 15:56 (UTC)
From: [identity profile] neteraser.livejournal.com
линк не смотрел, но ты знаешь, некоторые люди найдут полиморфизм в коробке спичек :) а другие... просто найдут коробок.

Date: Sep. 14th, 2007 16:22 (UTC)
ext_659502: (Default)
From: [identity profile] some41.livejournal.com
на самом деле FILE* обычно не полиморфный, так что это просто сокрытие реализации, такое же как int/HANDLE на уровне ОС. хотя вот в glibc есть полиморфная реализация, очень удобно :)

Date: Sep. 14th, 2007 16:24 (UTC)
From: [identity profile] aruslan.livejournal.com
Ты не прав насчёт FILE*.
В современном виде - это сокрытие реализации (blackbox handle).

HANDLE под виндой - еще чище.
Я так всегда делаю, собственно.
Зачем людям знать что внутри если они с этим знанием ничего сделать не смогут?

Date: Sep. 14th, 2007 16:26 (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
Ну, где-то же начинаются таблицы функций "это консоль, это флешка, это жесткий диск, это pipe"

Date: Sep. 14th, 2007 16:32 (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
DLL, кстати, выгдядит чисто как объект с виртуальными функциями :)

Date: Sep. 17th, 2007 07:06 (UTC)
From: [identity profile] aruslan.livejournal.com
Абстрактный класс с ровно одним наследником, реализующим всю его функциональность без права дополнений? ;)
Чем отличается от HANDLE тогда?

Date: Sep. 17th, 2007 13:25 (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
Про "ровно одного наследника" - очевидно неправда. Можно один кодек загрузить, можно другой. Про дополнение не понял, это if на GetProcAddress или термин из ООП, терминологию которого я знаю очень плохо знаю?

Date: Sep. 17th, 2007 13:30 (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
Про кодеки я прогнал, они состоят из нескольких функций вроде DllRegisterServer, и это COM, а не классическая DLL с набором функций. Но "загрузить другую DLL" ничто не мешает.

Date: Sep. 17th, 2007 13:55 (UTC)
From: [identity profile] aruslan.livejournal.com
В кодеках - COM или его костыльные аналоги.

Иметь другую DLL со 100% таким же интерфейсом - я такого не видел никогда.
Или ты имеешь ввиду сделать два wrapperа с одинаковым интерфейсом?
Зачем тогда другая DLL?

Profile

aruslan: (Default)
aruslan

January 2014

S M T W T F S
   1234
56789 1011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 10th, 2026 15:32
Powered by Dreamwidth Studios