2,582 reputation
11126
bio website nathanlongmusic.com
location Charlotte, NC
age
visits member for 3 years, 11 months
seen Jun 23 at 14:17

I code mostly in Ruby and Javascript, though I still have to bring out the PHP skills now and then.

I like pineapples.


Sep
24
awarded  Autobiographer
Aug
19
awarded  Popular Question
Jun
19
comment Specification languages vs automated tests
@FrankHileman I have no formal training, so I can't speak for schools, but I hear devs embracing Agile as opposed to "waterfall" methodology. "Big Design Up Front" is seen as likely to lead to software that doesn't meet actual needs. If there's confusion here, maybe it's equating all non-executable specifications with waterfall design?
May
20
comment Specification languages vs automated tests
@Doval Hmmm. No, that's the halting problem. :) But how can you prove that a function doesn't go into an infinite loop without running it, either? Any analysis would involve simulating execution, wouldn't it? "Then if it reached this point and X was 5..." I guess I'm having a hard time envisioning the formal proof without a concrete example.
May
20
comment Specification languages vs automated tests
"you can run a verifier - that proves the design/algorithm mathematically" - so it proves it in a way that does not rely on trying lots of examples, as does invariant testing?
May
20
comment Specification languages vs automated tests
Automated tests can also be invariant. Eg, QuickCheck in Haskell and tools like it let you specify things like, "for any possible list of integers, the reverse function should produce a list with the following properties: contains the same number of elements, first element is now last, all elements still integers... [etc]". So it tests against a large number of randomly chosen inputs and shows you which ones fail. Though admittedly, "a large number of inputs" is not infinite.
May
20
asked Specification languages vs automated tests
Mar
31
awarded  Nice Answer
Mar
4
comment Why is verbosity bad for a programming language?
@ShivanDragon - depends on one's background. Ruby has STDOUT.print("hi\n") as a more explicit alternative, but a beginner would quickly learn that puts does that. As to main, it suggests that to you because you are familiar with the syntax. It told me nothing. main is language-specific; a script written in Ruby, PHP, Javascript or bash doesn't use it, and all code is either definition or execution. So in my eyes it's just noise.
Mar
3
revised Why is verbosity bad for a programming language?
added 41 characters in body
Mar
3
comment Why is verbosity bad for a programming language?
@yannbane - can you elaborate?
Jan
12
awarded  Notable Question
Nov
7
awarded  Yearling
Jul
31
awarded  Good Question
May
10
comment My customer wants me to record a video of how I develop his software product
"How to explain to him that it is not an usual practice for the freelancers to record the videos of their daily work" A link to this page will do nicely in the future to demonstrate that nobody else will be willing to do this, either.
Mar
28
awarded  Notable Question
Mar
2
answered Why shouldn't a GET request change data on the server?
Jan
18
accepted How would you assess a programmer's Github profile?
Jan
11
comment Why is it often said that the test cases need to be made before we start coding?
"it forces you to think about your code from a perspective of testing": yes, which means "as a user of the code." You can write your tests as though you had easy-to-use code and then write it that way. This includes things like "but I don't want to do a bunch of test setup", which will push you to fewer dependencies.
Dec
5
answered How do you balance between “do it right” and “do it ASAP” in your daily work?