Settings

Theme

Ask HN: Which technology\language you find most difficult to learn?

12 points by thar2012 14 years ago · 28 comments · 1 min read


My answer is COM, whats yours ?

Paul_S 14 years ago

Unreal would be my first choice. A company recently sued Epic for how crap it is but they lost. Still, the fact that they did sue them in the first place tells you a lot but I'm not allowed to have an opinion.

If I could sue a language I'd sue bash. I know it'd be futile but there is a reason that so many replacements exist but maybe a better reason why none of them have supplanted bash.

  • freehunter 14 years ago

    A company recently sued Epic for how crap it is but they lost.

    Silicon Knights sued Epic claiming that they were promised advanced features of the Unreal Engine that allegedly did not exist or were not supported in the way SK were led to believe. They allegedly ended up having to build their own engine for the game on top of the cost of the UE3 license. Epic discovered that the new engine was using source code from SK's licensed copy of the UE3 engine and counter-sued for breech of contract. The claims against Epic were thrown out because the judge felt SK was asking for unreasonable amounts of money. As far as I know, the matter of whether or not Epic filled their end of the bargain was not answered. That's the real shame.

    why none of them have supplanted bash.

    Same reason C is still popular despite more advanced and modern languages. It's not as widely supported. Bash and C are everywhere. Bash and Perl are awful, awful languages that are awful, awfully unfortunately useful.

    • Paul_S 14 years ago

      I don't think courts are in a position to rule on quality of products unless it's blatant false advertising. I'd love to discuss this but my next job is likely to involve Unreal as well. All hail our lords at Epic.

      So instead I'll disagree with you on Perl which I thought was one of those saner replacements for bash, especially when it comes to one liners. So what languages did you think I meant?

      > Same reason C is still popular

      I think the reasons behind C and bash staying power are different. Bash is here to stay because it is ingrained, literally embedded in the system and has a large user base. It doesn't offer anything unique that isn't available somewhere else. C is here to stay because it offers what other languages don't. There are new projects with no legacy concerns that still choose C.

      • freehunter 14 years ago

        So what languages did you think I meant?

        You mentioned bash, which I agreed with. I was also adding Perl to my personal list of complaints as a language I found difficult to learn.

rvid 14 years ago

COM/XPCOM. Go dig into the Mozilla codebase.

Also, another vote for CSS. Mostly because its so hard to debug and figure out what exactly is making your page look like shit. Add to that varying browser support. Its hell.

felipebueno 14 years ago

Objective C... It is the weirdest language I've ever seen.

  • geon 14 years ago

    Really? What do you feel was difficult?

    Besides a gotcha with weird bugs when I called the superclass dealloc method before releasing members, I had a really smooth experience.

  • jetti 14 years ago

    When I first looked at Objective-C I totally agreed with your statement. Then I was introduced to Smalltalk and Objective C started to make sense!

  • felipebueno 14 years ago

    besides brainfuck =p

    • mrlase 14 years ago

      I was reading an article about implementing an interpreter for Brainfuck in PyPy, and when the example code for some simple Brainfuck programs came up, I just stared. I really fail to see how one would go about programming just about anything in that language. (Here's the article in case anyone is interested, a pretty good read IMO: http://morepypy.blogspot.com/2011/04/tutorial-writing-interp...)

jknupp 14 years ago

SML.

I remember at CMU, the sophmore level programming language theory course (the name escapes me, it was 15-212) was wildly different than anything I had done before. All programming courses one took up to that point were the normal intro level courses that most passed out of and a data structures/algorithms course. Sitting down the first day and being introduced to SML along with language constructs with no analogue in the programming languages I knew was tough. I struggled for about a month, much like I imagine many do when learning about pointers: you may be able to do some of the work, but you don't have a proper conceptual model to be able to reason about it. All of a sudden, after re-reading the material from the beginning, everything just clicked. It was probably my favorite undergraduate CS course from then on.

  • thar2012OP 14 years ago

    You make me remember my compiler design course. I find it most difficult during my collage days. Thank god we didn't have SML

    • Ralith 14 years ago

      I wish my compiler course had used SML--then maybe I wouldn't have had to greenspun C++ so hard.

jetti 14 years ago

I have a couple for various reasons:

The hardest that I gave up on was Groovy. The language itself seems really nice, it was just hard because of the lack of documentation that I was able to find so I just switched to Scala since I had to learn it for a class anyways.

The hardest that I still use is Haskell. While there documentation is phenomenal compared to other languages, I have found that it isn't something that you can just pick up and start using and be able to write idiomatic programs without studying theory. For me, when I get to monads I struggled a bit. Then I get to the monadic bind and other operators like $ and . and I find I have to keep going back to tutorials to see when and how to use them properly.

dscrd 14 years ago

Javascript. I've learned the basics of SML and Ocaml, and a bit more than basics of Haskell, but I just can't bring myself to learn how to use JS effectively.

More generally, I find it hard to learn how to do GUIs and pretty web pages.

  • geon 14 years ago

    Have you tried jQuery? The API:s to interact with the browser really sucks, but the core language isn't too bad IMHO.

    If you abstract away the browser differences in event handling and DOM, it's pretty straight forward to build GUI:s.

jfaucett 14 years ago

For me it was (and still is) ORM, specifically Doctrine2. In principle it seems pathetically easy, but once the queries start getting immensely complicated ( Many-to-Many over multiple tables, with conditional form data, etc) I still find myself having to fallback to SQL.

Other contenders have been:

1. Bison ( tokens, parsing, syntax, was all difficult the first time around).

2. OpenGL because remebering function names for the api is RIDICULOUS! ahh glDrawElementsInstancedBaseVertexBaseInstance now what are the args again?

geon 14 years ago

CSS

It is deceitfully simple at a glance, but to make a useful design with it is hard. There are so many hacks to get it to do what you want and hacks to work around bugs.

neilk 14 years ago

Haskell. While I've sung its praises on HN before, I am just a novice. I've gotten deep enough to see how great it is, but not far enough to write anything nontrivial.

debacle 14 years ago

Honestly, CSS. It's so different from programming that I can't wrap my head around it.

Ask me to write a simple web page and I'll have ~10 tabs open to w3schools.

venturebros 14 years ago

Javascript.. I have been working with the DOM for the past 3 years yet I feel like I still do not have a solid grasp of Javascript.

  • geon 14 years ago

    The DOM is not Javascript, it's just an API. A really, really sucky API. Use jQuery instead.

kellros 14 years ago

Probably http://en.wikipedia.org/wiki/Malbolge

manuscreationis 14 years ago

Another vote for CSS, but then again I've never actually tried to use COM

Something about CSS prevents me from really grasping it and using it with any real skill. I mainly live off of designer friends and things I can cobble together with the help of google.

danellis 14 years ago

Recently, I'd probably say SAML. There are so many intricacies in the spec that it's difficult to know how best to apply it to a problem, and the implementation I use is poorly documented.

buster 14 years ago

probably not most difficult to learn but most hated: Perl

most difficult to learn for an OO-guy: Erlang (and most interesting as well)

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection