6,893 reputation
21955
bio website
location
age
visits member for 1 year, 11 months
seen 19 mins ago
stats profile views 461

0x2B | ~0x2B


May
9
comment Is it a really required skill to program without API documentation?
@Antonio2011aL: "My undergraduate studies were mostly in math and physics, but I remember having to memorize a lot of formula etc": You do not have to memorize those formulas. You have to understand how they work and what they are good for. After you have learnt how to use a formula, remembering the formula itself comes as a side effect.
May
8
comment Why do some programmers categorize C, Python, C++ differently? - regarding level
So abstraction consists in (1) building a new structure (API, network protocol, memory model, database model, whatever) on top of existing ones, and (2) hiding the implementation so that the user can access the abstraction without seeing its implementation (background noise). If you leave out step 2 (less encapsulation = more leakiness), you have less abstraction.
May
8
comment Why do some programmers categorize C, Python, C++ differently? - regarding level
@Steve314: "IMO the height of an abstraction and its leakiness are two different things": To abstract means to "take away" (from Latin abs-trahere) the details that are not essential and considered noise. When using a leaky abstraction (or leakier, if you want to treat it as a relative notion), a programmer must consider more details about the underlying machine because these details have not been hidden properly (have not been abstracted away).
May
8
comment Object Orientation done right with PHP
@Yannis Rizos: Very balanced comment (+1), also considering the topic. ;-)
May
8
reviewed Close Object Orientation done right with PHP
May
7
reviewed Leave Open A weakness of the TDD method?
May
7
comment Why do some programmers categorize C, Python, C++ differently? - regarding level
@Steve314: Then one could say that if language X makes it harder to break some abstraction A than language Y, then X is higher-level than Y with respect to A (provided that both languages offer the same abstraction A).
May
5
comment Why do some programmers categorize C, Python, C++ differently? - regarding level
@Steve314: Yes and no: normally abstraction comes with information hiding, i.e. a language or a library is like a black box that provides an interface, and no one wants to know what is inside the black box. C++ is a bit odd in this because it offers higher-level constructs but does not prevent the programmer from accessing their representation and breaking them. C++ is the only language I know of that does not isolate different abstraction layers (but maybe there are other languages I do not know of).
May
5
reviewed Close Need to find stocks data with API for Linux
May
5
reviewed Leave Open Does change the license under which Linux is released need the permission of all the copyright holders?
May
5
reviewed Leave Open Why do some programmers categorize C, Python, C++ differently? - regarding level
May
4
comment Is there a name for the school of thought behind writing tests?
@Robert Harvey: I guess it has to do with different teams working differently and therefore using the same term for different things. For my shop TDD is not testing. The testers can implement automatic tests separately but these tests have nothing to do with unit tests written by developers (TDD). If other teams work differently they will use another terminology.
May
4
comment Is there a name for the school of thought behind writing tests?
@Robert Harvey: Ok. Then you have tests used for specification (TDD) and tests used for verification. In my shop we have the terms "development" for design and implementation, "testing" for verification (two different phases carried out by different people), so I automatically associate "testing" with the verification / validation phase. As a consequence, unit tests written by developers do not count as testing. But yes, the terminology may vary.
May
4
comment Is there a name for the school of thought behind writing tests?
@Robert Harvey: In my experience, software testing is performed by a tester who is not involved in the development. This is to ensure that testing and development are completely independent activities (developers will usually be biased when testing their own code). In this sense, I think it is hard to classify TDD as testing, I would rather classify it as implementing against an executable specification.
May
4
reviewed Leave Open Why does gmail use java? Is there really a advantage over something like php or python?
May
4
reviewed Approve suggested edit on Is it safe to install TortoiseSVN on production servers?
May
4
reviewed Approve suggested edit on Managing DLL files, deployment, and ease of use for the end user
May
4
comment Why do some programmers categorize C, Python, C++ differently? - regarding level
+1: For a good explanation and for pointing out that C++ has both low-level and high-level features.
May
4
comment Please tell me I'm not alone (can't program on paper)
@Robbie Dee: What I mean is that solving a small programming exercise like the Fibonacci function with pencil and paper can help to see if the candidate really understood the problem (and can use recursion). If the candidate has a computer and a compiler available they can try a few implementations until they get a working one (possibly by chance). So using pencil and paper is a more accurate test of the candidate's real capabilities. On the other hand, I agree with you that there should many different questions and testing a candidate only on a specific task or knowledge is not accurate.
May
4
comment Why does gmail use java? Is there really a advantage over something like php or python?
I think Perl was very popular for writing web applications before Java but (even though I am not a Perl expert) I can imagine Perl suffers similar scalability problems as other scripting languages.