Hacker News new | past | comments | ask | show | jobs | submit login

That looks amazing but the "functional" bit is offputting me as I am a stupid user and never got functional programming. Something like this for dumb scripting would be a godsend.



How did you try to learn functional programming? What was the most difficult to grasp?


To be honest I did not. I am happy with the procedural/OO code I write in Python. But whenever I even see functional code, I can't even read it.


Hey, if you are scared of it, don't be. It's very easy once you actually start diving in. You are already making functional constructs all the time in your favorite languages. Don't be afraid of the nomenclature. They are just your average programming patterns which are identified/talked about by esoteric names :)


I think people are somehow overly interpreting my post. I just meant that I wished this was available for non-functional programming. I did not mean to "diss" anything.

I don't want to learn something else ;)


> I don't want to learn something else ;)

Maybe programming isn't for you then.


I would estimate that less than 5% of computer science is directly related to programming languages and paradigms. Not wanting to learn a new programming paradigm still leaves open 95% of the other avenues of learning. At least 99.9% of the industry and 95% of academics don't use pure-functional languages, and they don't find this to be limiting in any way. Add to that the fact that the advantages of PFP are rather theoretical at this point while the learning curve is steep, and you get that of all things you can learn in CS, this one is probably one of the least cost-effective among them.

Personally I find those that equate learning new things in CS with learning new programming paradigms (while common on HN/Reddit) to have a very skewed understanding of what computer science is about.


So refusing to look up function definitions in python is the equivalent of using pure-functional languages and learning new paradigms? Please.


Maybe there is a lack of available video courses teaching functional style, it might not be as hard as it seems (wan't for me, but a sample size of 1 is anecdotal). Give it another try perhaps?


Honestly, I nor anyone else has any idea what she or he means by functional since they didn't provide any sort of example, and it's not even clear that the user would even know functional programming if they saw it. They referenced python, so should we assume they don't understand what map does? Map is just a function which is properly documented and easy to find help on. Is the user saying that they aren't able to look up the definition for a function they don't understand? Are they saying they refuse to look up definitions for functions they don't understand? How on earth do they get anything done if they refuse/can't look up function definitions?

What I'm trying to say is that it's very likely the user doesn't even know what "functional" means. They just hear some keyword they don't understand and dismiss anything that follows. Because when you think about it, it doesn't really make any sense that a programmer could be a programmer if they couldn't look up things they don't understand.


Oh yeah, there are not many options nowadays. I know this one which is offered by Coursera: "Functional Programming Principles in Scala". I didn't take it, but it should be helpful if one want to explore that "weird wizardry functional stuff" -and discover that there is not much wizardry at all. Oh and as others stated above, it is not that difficult once you really dive in :)

[1] https://www.coursera.org/course/progfun


In my point of view, there are two problems involved in functional programming in general:

1) Unfortunetally the majority of schools / universities teaches imperative thinking and imperative languages only, but this situation appears to slowly change.

2) Functional (especialy purely functional) languages provide completely different syntax than the "standard one" we know from Python- or Java- like languages. Lets consider Haskell or Erlang for example. If you know any imperative language, reading Python or Java is just "slightly different", but understandable. You cannot understand Haskell, Erlang or Lisp code though. This was a very important factor for us when designing Luna - as you can see from examples on the website - the textual code is widely understandable, keeping at the same time all the design decisions derived from the fact that Luna is purely functional programming language. I think that this aspect of Luna will be very important for new-commers from the imperative world.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: