7 ms·
maybe i'm an incredible genius or something, but give me a week or two and i'm writing code at an advanced level in any language. it's pretty easy. it more or
by tokipin 18y ago
maybe i'm an incredible genius or something, but give me a week or two and i'm writing code at an advanced level in any language. it's pretty easy. it more or less involves making an actual project in that language, which cold turky sink or swimly requires that you know the language at least decently
i think it's mostly mentality. if you think languages are hard to learn, then they will probably seem that way because you will allow yourself too much time to play around with mere details, whereas if you recognize there isn't much to them, you can accomplish a lot in no time at all
- icey 18y agoObviously you've never met Haskell. And if you hit the reply button and say that you have, then I demand to see code samples.
- tokipin 18y agonay, not Haskell. F# though (using it right now on a small app that i plan on selling, hopefully it makes me enough money to support my starbucks addiction.) actually i've been meaning to play around with Haskell because it has a lot of succinct thingies with currying and whatnot, and i plan on making an experimental language or two eventually. generally though, strongly typed languages are painful for me. that is, painful to use, not painful to learn :) one paradigm i've yet to try out is the "goal-oriented" languages a la Prolog. i'll get to them my point isn't about me though, despite how great i am. i just think that thinking about languages as if they were huge monoliths isn't the best way of thinking about them, because it will hurt your ability to try out new languages and perspectives. they are things that you should revel in, not keep away from because they seem daunting
- maxklein 18y agoI think it is more likely that you do not recognize your own flaws. It takes a real genius to be able to learn the little things about C++ in a week or two. A language is not just the syntax of the language itself, it's also the code style, the convention, the best practise, the language specific stuff, the API of the libraries available, the best way of doing things with libraries. If you use python to write simple number crunching console applications, then switch to ruby, that is an easy switch. But if you're writing a Web application using Python and Django and you switch to writing DirectSound using C++, and you tell me you can do this in a week, then you are a genius. The syntax of languages are trivial, but that's like saying you can discover the colors used in a painting. That's the easy part. The difficult part is knowing how it works. Let me list a few examples of technologies that I think differ strongly from each other that make it difficult to switch - MFC with C++ - Django with Python - DirectShow with C++ - VHDL - ASM - Javascript with JQuery - CSS with HTML - Helix Framework with C++ - Quicktime API with C++ - OpenGL with .NET - LISP Have you ever had to switch between things on that level? Or are you talking more of a python to ruby switch?
- tokipin 18y agomy final project for electronics engineering required a large assembly program. that was incredibly discipline-demanding. though nothing countless macros and subroutines couldn't solve. also met VHDL in that major all the web things, CSS HTML, JS, PHP etc. XML things like XSLT and XQuery (both of which btw are strict functional languages), etc. both JVM and .NET runtimes. API's can be their own sorts of languages. matlab, mathematica and so on funnily, i grew up on Java. but everything changed once i met languages with first-class functions my current favorite languages are Lua and Arc. if Arc had a solid implementation i would use it a lot
- maxklein 18y agoAssembler is one of the easiest languages to learn, the difficulty lies in understanding your machine.
- tokipin 18y agothe difficulty with a large assembly project is that you have to write a lot of well-named and well-designed macros and subroutines and otherwise create your own modularizations, otherwise it will be completely unmanageable. the main difficulty in my case though was having to interface to multiple devices, one of which was designed to be networkable (ie pain in the ass protocol,) something with which the language didn't help
- maxklein 18y agoThat's where you fail. The first thing we learnt about assembler was this - write in assembler, do not invent your own language and write in that language. If you do so, nobody will be able to read your program but you. It sounds like you went and implemented your DSL on top of assembler, which is really bad practise.
- tokipin 18y agoi love you too
- raganwald 18y ago"Give me a week or two and i'm writing code at an advanced level in any language." Whereas the Peter Norvigs of the world need ten years. Sigh.
- deleted 18y ago[deleted]
- nostrademons 18y agoIt's kinda funny how that works... When I was in college and looking for internships, I put about 20 languages on my resume - Basic, Pascal, DCL, C, C++, Java, JavaScript, Perl, Assembler, PHP, HTML, SQL, CSS, InstallShield, Common Lisp, Scheme, Dylan, Haskell, Ocaml, and Erlang. After all, I'd written code in all of them, even if "code" was just a small 100-line program. By the time I was looking for my first job, I'd pruned that to the C, C++, Java, PHP, JavaScript, Lisp, Haskell, and Erlang. Now, I don't even list skills any more, just what I've done and what technologies I used to do it. But the list of languages that I consider myself proficient in is Java, PHP, Python, and JavaScript. I used to wonder why it was that adults got so stupid between graduating from college and their mid-30s. Now I know - it's not that they're getting stupider, it's that their world and the difficulty of problems they face is expanding faster than their abilities. I feel much, much dumber than I did when I started college - but the program that took me a month then, I can whip off in a weekend now.
- cosmo7 18y ago> maybe i'm an incredible genius or something, [...] which cold turky sink or swimly requires that you know the language at least decently If you're such a language whiz you might want to master basic English.