I frequently use the following paradigms and techniques:
- * '''OOP''' - Who doesn't? I've taught object-oriented
- programming and object oriented analysis and design (OOA&D)
- as part of my InstructorRole.
- I've never been a believer in the pure-OOP religion.
- I think OOP has a very broad application in many areas
- of CS and that's all.
-
- * '''Metaprogramming''' - I love template templates.
- Oh, yes I do. I must admit this little perversion of
- mine. In the past, you couldn't abuse genericity because
- your buggy compiler would blow up. Now that compilers
- have been fixed, your brain blows up first.
+ * **OOP** - Well, who doesn't? I've been teaching object-oriented
+ programming and object-oriented analysis and design (OOA&D)
+ as part of my InstructorRole, although I've never been a true believer
+ in the pure-OOP dogma. OOP has very broad applicability in many areas
+ of CS, and that's all.
+
+ * **Metaprogramming** -- I've been in love with templates of templates for a while.
+ Oh, yes... I must admit this little perversion of mine. In the past, you couldn't
+ abuse genericity because your buggy compiler would blow up. Now that compilers
+ have been fixed, your mind melts first.
- This is a little useless thing that only Boost would ever
- want to carry:
+ This is a little useless thing that not even Boost would ever want to
+ carry around:
http://www.develer.com/devlib/devlib-current/cxxutil/viterator.h
- * '''Functional Programming''' - I'm sorry to admit I
- never tried a fully functional approach in a real world
- project, but I frequently use "pills" of functional
- programming all the time where appropriate. Expecially
- in combination with the StandardTemplateLibrary and with
- Perl.
+ * **Functional Programming** -- I'm ashamed to admit I
+ never tried a purely functional approach in a real-world
+ project, but I do frequently use "pills" of functional
+ programming, expecially in combination with the
+ StandardTemplateLibrary and with Perl.
- * '''Design Patterns''' - Like many, I know, use and teach
+ * **Design Patterns** -- Like many, I know, use and teach
the good old GangOfFour patterns and sometimes the more
esoteric ones. Actually, I mentioned them only to say
that I dislike both code that reinvents them as much as
code that abuses them (the SingletonPattern and
AbstractFactoryPattern are expecially popular with novices).
- * '''Multithreading''' - I tend to use it as a last resort
+ * **Multithreading** -- I tend to use it as a last resort
solution in my designs, because I consider truly concurrent
programming extremely hard to understand, debug and extend.
Most of my multithreading programming was on the AmigaComputer
limitations and inefficiencies of the IPC primitives and the
broken asynchronous I/O).
- * '''Compiler design''' - I'm experienced in writing
+ * **Compiler design** -- I'm experienced in writing
grammars and hand-writing the lexical analyzers and
parsers as well as using the usuals automated tools.
I understand problems related to AST representation,
optimizers, and code generators.
See OpenSourceDeveloperRole for GCC contributions.
- * '''Kernel development''' - I'm very interested in OS
- design problems and I wrote lots of system-level code
- and utilities. I even wrote a minimalistic microkernel
- for DevLib:
-
- http://www.develer.com/devlib/devlib-current/kern/
+ * **Kernel development** -- I'm particularily interested in OS design.
+ I wrote lots of system-level code and utilities, including a
+ minimalistic microkernel which is now being called [[BeRTOS]].
-And of course...
+And, of course...
- * '''Spaghetti programming!'''
+ * **Spaghetti programming!**