Reputation
3,717
Next privilege 5,000 Rep.
Approve tag wiki edits
Badges
14 19
Newest
 Yearling
Impact
~312k people reached

Jul
30
comment What are good mathematical formulas to know for programming?
@MattEllen: It lets you solve recurrence relations that can help you find the complexity of recursive algorithms. This is particularly important when writing a "divide-and-conquer" style algorithm. Roughly speaking, you can use the master theorem to get the complexity if you know the complexity of each "step" and the branching factor.
Jul
28
revised Please explain the statement that the function an+b belongs to O(n^2) and Θ(n)?
added 1103 characters in body
Jul
28
answered Please explain the statement that the function an+b belongs to O(n^2) and Θ(n)?
Jul
21
comment Good resources and tools for modern, heavy JavaScript development?
If you're going to compile to JavaScript from a different language anyhow, there are plenty of choices--you don't have to use Java at all! For example, we're using js_of_ocaml at work right so we can write our code in OCaml and run it on the browser.
Jul
20
comment If python compiles to assembly and an OS is written in it, will it compete favorably with C in benchmarks?
@MichaelT: I've heard of a Scheme compiler (Stalin Scheme) that essentially does just that. Scheme is an incredibly flexible and dynamic language, but given enough analysis and access to the whole program at compile time lets you produce very efficient code. Of course, Satlin was just a research project, but I imagine something like that could also be written for Python. It would, however, be prohibitively difficult to actually write.
Jul
18
comment Why are data structures so important in interviews?
Data structures are universal until you get hooked on purely functional programming :P.
Jul
18
comment Why are data structures so important in interviews?
@user12889: Pretty much everything in CS can become arbitrarily difficult :). That's why it's such a fun field. Of course, being arbitrarily easy is another matter entirely... But that is a very good point, especially for interviews.
Jul
17
comment Is COBOL still worth learning?
Given that there's no such thing as unnecessary knowledge, I nominate Intercal for the next language you learn!
Jul
15
comment Is it bad to learn multiple programming languages?
I think that's a good approach. Particularly importantly, it teaches you different languages. Learning Perl after PHP is not going to give you nearly as much insight as learning Prolog or Haskell!
Jul
14
comment What are the best practices regarding unsigned ints?
Another solution would be to require you to manually cast your numbers as appropriate. This is what Go seems to do (I've only played around with it a tiny bit though), and I like it more than Java's approach.
Jul
9
comment Functional Programming, JavaScript and UI - some neophyte questions
@ErikReppen: Check out FlapJax. If you don't mind a slightly more abstract library, check out Arrowlets which adds Haskell-style arrows to JavaScript. If you're into C#, there is RX.js which is a port of C#'s Reactive Extensions (RX). I've only played around with the latter two, and liked Arrowlets the most, but I'm rather partial to Haskell and so naturally biased :P.
Jul
7
comment Functional Programming, JavaScript and UI - some neophyte questions
Event driven programming is not the only way to write UIs. I suggest you take a look at some reactive programming libraries for Javascript: they can actually make your event-driven code simpler, elegant and more functional.
Jul
7
comment Why did visual programming never take off and what future paradigms might change that?
@PieterB: Not power users of the software they're working on but power users of their development tools like editors and programming languages. Unless, of course, the software they're working on also happens to be a development tool :P.
Jul
3
comment The most mind-bending programming language?
One surprising thing about Prolog is that a basic prolog interpreter is actually surprisingly simple to implement. The fundamental algorithms behind it (e.g. unification and resolution) turned out to be much simpler than I thought they would be.
Jul
2
comment Is it worth to learn Experimental Languages?
@JörgWMittag: I think that says more about Java than about Haskell though.
Jun
17
comment Programming Language, Turing Completeness and Turing Machine
Yes, the lambda calculus is the genesis of functional programming. However, even Turing machines are naturally expressed in terms of functions; the formal definition of a Turing machine is just a tuple of some sets, symbols and a transition function.
Jun
11
comment How do I completely-self-study Computer Science?
I'm doing EECS at Berkeley right now. If the MIT EECS program is structured anything like Berkeley's, then you won't get much guidance there: we have a short intro sequence and then it's literally do whatever you want in whatever order you want as long as you do a minimum number of advanced courses. I think it's awesome, but it probably won't help you figure out which courses to take: I had to make the same decisions myself. (I had help from my faculty advisor, but in a complete coincidence his advice was to take his graduate seminar :)).
Jun
10
answered Why don't browsers support haml and sass?
Jun
3
comment Programming languages, positional languages and natural languages
Sort of. Particularly, I'm thinking of languages where you represent computation primarily using mathematical ideas. Mostly functional programming languages like Haskell. So it doesn't just express mathematical concepts, it actually uses them for everything like representing state and IO. It's also closer to mathematical notation than a natural language.
Jun
3
comment Programming languages, positional languages and natural languages
@JarrodRoberson: While you are right, I don't think Turing completeness is a useful criteria to define a "programming language". Particularly, there are some very nice total functional languages that are not Turing complete but are still useful for writing programs (e.g. Epigram or Agda).