1,173 reputation
210
bio website
location Germany
age
visits member for 2 years, 5 months
seen Aug 6 '12 at 19:31
stats profile views 34

Feb
6
comment Is there a programming language with not a tree but tags idea behind OOP?
@kolupaev: Edited the answer. Take a look at type classes. Do you know .NET'S extension methods? Tags describe too, as typeclasses do. Adding functionality once you got that generic description is just a matter of syntactic sugar.
Feb
6
revised Is there a programming language with not a tree but tags idea behind OOP?
added 351 characters in body
Feb
6
answered Is there a programming language with not a tree but tags idea behind OOP?
Feb
2
comment Are specific types still necessary?
+1 Great question
Feb
1
comment When to use abstract classes instead of interfaces with extension methods in C#?
@Gulshan: If it does - for some reason - not make sense to actually create an instance of the base class. You can "create" a Chihuahua or a white shark, but you cannot create an animal without further specialization - thus you would make Animal abstract. This enables you to write abstract functions to be specialized by the derived classes. Or more in programming terms - it does probably make no sense to create a UserControl, but as a Button is a UserControl, so we have the same kind of class/baseclass relationship.
Feb
1
comment What should I know about C++?
OOP does not solely mean programming with objects, it implies certain design-patterns, runtime polymorphism through inheritance, class hierarchies ... C++ is not really great in expressing these - you need (smart) pointers and often explicit memory management for runtime polymorphism, it's relatively slow and full of pitfalls (ever forgot a virtual destructor?). You often have cleaner ways of expressing the same with pure objects and e.g. generic programming / static polymorphism.
Feb
1
answered What should I know about C++?
Jan
31
answered When to use abstract classes instead of interfaces with extension methods in C#?
Jan
26
comment The most mind-bending programming language?
The cool thing about Scheme (and Ruby!) continuations is that they are built-in into the language. Haskell basically just adds it's monadic syntax around ordinary continuation passing style, which you can do in Scheme too. But having call/cc built-in everywhere without having to embed the whole thing in a monadic construct definitely allows many mind-bending constructs.
Jan
18
comment Challenges for the experienced coder to learn functional programming?
+1 I like the easy to grasp characterization of Monads/Functors/Applicative. (Arrows as a even more powerful generalization would also fit in)
Jan
15
comment Prefer algorithms to hand-written loops?
const auto& is possible? Didn't know that - great info!
Jan
15
revised Prefer algorithms to hand-written loops?
added 113 characters in body
Jan
15
answered Prefer algorithms to hand-written loops?
Jan
11
awarded  Critic
Jan
11
revised Preferred lambda syntax?
added 7 characters in body
Jan
11
answered Preferred lambda syntax?
Jan
8
comment What are some reasonable stylistic limits on type inference?
While the type-first approach is very elegant in Haskell, I doubt that it's suitable for C++. Without concepts, a C++ template signature basically says nothing - it's the implementation that defines the requirements types and arguments have to meet. Templates just do duck typing at compile time - "try and look if it works". Thus I'd say, we can rather be implicit with the types just as dynamic duck-typed languages are too.
Jan
5
answered What language, or language feature, do you wish made it to the mainstream?
Jan
4
comment Naming conventions for variables
@Axidos, Fred Nurk: Good points. Point-free style + _ can really eliminate most useless variables, and it won't be difficult finding expressive names for the rest.
Dec
30
comment What should every programmer know about programming?
@Chinmay, EnderMB: Exactly, indirection is the point here. In any language (except proably Haskell), you need to know indirection to understand how and where data will change.