Reputation
1,310
Top tag
Next privilege 2,000 Rep.
Edit questions and answers
Badges
5 11
Newest
 Yearling
Impact
~100k people reached

  • 0 posts edited
  • 0 helpful flags
  • 139 votes cast
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
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.
Dec
28
awarded  Commentator
Dec
27
comment Why Garbage Collection if smart pointers are there
@Jon Harrop: As to using, you're right ...
Dec
27
comment Why Garbage Collection if smart pointers are there
@Jon Harrop: Please what? The statement you cite is about plain C++ destructors, without any reference counting/smart pointers/garbage collection involved.