2,376 reputation
1524
bio website
location
age
visits member for 1 year, 10 months
seen 4 hours ago

(your about me is currently blank)


Jan
31
comment Is It Late To Start Learning Programming @ 26 Years?
Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance.
Jan
31
comment Is It Late To Start Learning Programming @ 26 Years?
This is probably off topic here, but no, it is not.
Jan
28
comment Why do dynamic languages make it more difficult to maintain large codebases?
Yes, but in the code above in JavaScript is the equivalent of forgetting a field in IMetaProvider, something the typecheck would not have found for you. My main issue with these type systems is that they do not really enforce behavior and enforcing structure is usually not really that big of a deal. The thing is while unit tests for behavior and CI is something you'd do anyway, having to slow down to specify types can be frustrating and type inference is not nearly good enough (yet!). Anyway, I think we've derailed from the issue of JavaScript enough :)
Jan
28
comment Why do dynamic languages make it more difficult to maintain large codebases?
@SolutionYogi so your point is that a really bad dev team benefits from prohibitive defaults? Can't disagree with that, also, don't care much about bad teams. My point was that these issues are an education problem and not a language problem. JSHint is a very basic static analysis tools (there are much better ones available like closure compiler for example, jshint was given as an example for braek or conitnue). In your example the developer forgot something in a configuration object (like a Dictionary in C#) - I fail to how a see static type check would have helped (a test would).
Jan
28
comment Why do dynamic languages make it more difficult to maintain large codebases?
@EricLippert Please name some such codebases. JavaScript codebases I've worked with would have caught that error at three different steps (before check in). First in the IDE, second with static analysis commit hooks (jshint for example) and third in the CI server. JavaScript has not changed much, but the culture certainly has. People write poor code in any language when they do not understand the underlying issues and actual challenges (it's also a repeating motif in your blog, I'm a fan). How many C# code bases abuse GC.Collect()? Or casting? It is mainly education that promotes good code.
Jan
28
comment Why do dynamic languages make it more difficult to maintain large codebases?
Also, I just want to add that hearing an uninformed answer from someone usually as knowledgable as you is very surprising and somewhat disappointing. There are plenty of problems with JS but you simply listed ones that do not exist today.
Jan
28
comment Why do dynamic languages make it more difficult to maintain large codebases?
Aside from JavaScript, I agree with the general sentiment of the answer (that is "Typing is not the issue but poor infrastructure is"). Only now languages like JavaScript and Python are getting things like proper DI containers and modern testing frameworks and even more importantly - only now the community is adopting these concepts. Evolved design practices in the community are just as important as the language itself (if not more) and the adoption rates of best practices are certainly something that has been really improving in Python, Ruby and JavaScript these last few years.
Jan
28
comment Why do dynamic languages make it more difficult to maintain large codebases?
While I generally agree with your opinions, you're way off here. Modern JavaScript is very very different from what Microsoft did in 1996-2001. You have module systems (AMD, CommonJS) , you have encapsulation by convention like in Python (or closures, but I don't find that necessary), there are ways to annotate storage on variables (by using getters/setters for example) and the inheritance system is a lot better understood than it was 13 years ago. It's trivial to build strong robust applications in JavaScript today. Your example should read "let's take JavaScript from 2001 for example".
Dec
19
comment Writing simple executable script on Windows
What programming language are you using? For example, with Python you can develop for both platforms at once.
Dec
19
comment Is TDD viable in collaborative open source projects
Of course you can/should expect collaborators to write quality tests whenever they submit a patch. That's not only beneficial - it's extremely common in large open source projects today (I can give examples if you'd like).
Dec
18
comment shall a vector2 extends a vector3 or is it the opposite?
The first option is the only reasonable one.
Dec
17
accepted Where does UI fit in a Multi Agent system
Dec
17
comment Entity Framework Entities - Some Data From Web Service - Best Architecture?
You had to built your own ORM for your company because others didn't work due to the nature of your problem and you're telling me it's possible to ignore it :)? When you want to just expose data to a REST endpoint - having that extra abstraction layer just leaks from the other end. Just like with the Pizza example :)
Dec
17
comment Entity Framework Entities - Some Data From Web Service - Best Architecture?
@Bobson Just for the record, I know Zirak and he agrees with the other answer now :) We discussed it in the chat. You're trying to abstract a big problem away and life isn't that simple - you can't just 'ignore' the database.
Dec
17
comment Entity Framework Entities - Some Data From Web Service - Best Architecture?
@Bobson We're shaping the model layer based on the view. We're changing the backend here based on what we want to present to the user (the API call) when that API call was not a part of our original business logic. The only reason we changed it is for this specific case of calling the API. I think this answers stackoverflow.com/a/17729466/1348195 makes that argument a lot better than I do.
Dec
17
comment Entity Framework Entities - Some Data From Web Service - Best Architecture?
@stevehayter In that case I would most likely perform the calls to the API from the client side. It's cheaper and faster, and it gives you finer grained control.
Dec
17
revised Entity Framework Entities - Some Data From Web Service - Best Architecture?
edited body
Dec
17
answered Entity Framework Entities - Some Data From Web Service - Best Architecture?
Dec
17
comment What kind of transform is this?
A linear scaling?
Nov
25
comment How Challenging is it to Mix Pure JS with CoffeeScript on a Team?
If I have to base this on personal and team experience and sum it with a short answer - very, it's not a trivial overhead to work with two languages at once.