What are you working on, Jow Forums?
Last thread:
What are you working on, Jow Forums?
Last thread:
double compile!
Reminder that pointers are not arrays, and that C is poorly designed because it erroneously conflates the two concepts.
Reminder that Trump knows more about technology than anyone, which includes all of Jow Forums.
assembly itself is actually easy
there are only so many opcodes
the challenge comes from doing anything worthwhile with it
programming is a form of magic and not technology
This is the kind of code that people who shit on OOP write.
typedef struct {
unsigned long pix;
XftColor rgb;
} Clr;
typedef struct {
Cursor cursor;
} Cur;
typedef struct {
Display *dpy;
int ascent;
int descent;
unsigned int h;
XftFont *xfont;
FcPattern *pattern;
} Fnt;
typedef struct {
Clr *fg;
Clr *bg;
Clr *border;
} ClrScheme;
typedef struct {
unsigned int w, h;
Display *dpy;
int screen;
Window root;
Drawable drawable;
GC gc;
ClrScheme *scheme;
size_t fontcount;
Fnt *fonts[DRW_FONT_CACHE_SIZE];
} Drw;
typedef struct {
unsigned int w;
unsigned int h;
} Extnts;
/* Drawable abstraction */
Drw *drw_create(Display *, int, Window, unsigned int, unsigned int);
void drw_resize(Drw *, unsigned int, unsigned int);
void drw_free(Drw *);
/* Fnt abstraction */
Fnt *drw_font_create(Drw *, const char *);
void drw_load_fonts(Drw *, const char *[], size_t);
void drw_font_free(Fnt *);
void drw_font_getexts(Fnt *, const char *, unsigned int, Extnts *);
unsigned int drw_font_getexts_width(Fnt *, const char *, unsigned int);
/* Colour abstraction */
Clr *drw_clr_create(Drw *, const char *);
void drw_clr_free(Clr *);
/* Cursor abstraction */
Cur *drw_cur_create(Drw *, int);
void drw_cur_free(Drw *, Cur *);
/* Drawing context manipulation */
void drw_setfont(Drw *, Fnt *);
void drw_setscheme(Drw *, ClrScheme *);
/* Drawing functions */
void drw_rect(Drw *, int, int, unsigned int, unsigned int, int, int, int);
int drw_text(Drw *, int, int, unsigned int, unsigned int, const char *, int);
/* Map functions */
void drw_map(Drw *, Window, int, int, unsigned int, unsigned int);
Totally NOT seeing an OO pattern here, right?
Also
>abstraction
>abstraction
>abstraction
Are they trying to convince the reader that those "abstractions" are effective, or themselves?
The kernel is full of badly coded manually managed OOP. Cniles are the biggest hypocrites.
This, and anyone who denies this is nothing but a contrarian autist who tries too hard to look smart on a Mongolian forum.
Linux does use lots of OO methodologies, but that code is from dwm, a community which actively condemns OOP.