I'd like to start doing some forms of web development, with the aim of building web apps that could eventually grow into start-up products. And for a long time, I have been very curious about functional programming, and somewhere in my heart secretly believing that higher up you go in the abstraction level, the more power you have (hidden presumption: functional programming is more abstract than procedural).
So given the little web develop experience I have, is there any functional language/framework good to start with, for learning web development?
Alternative is to stick with a matured procedural web framework (probably Django), learn the ropes of web developments first, then think about functional programming. However, all the work would be "wasted" if I do eventually switch to functional programming.
I have pretty good experience with C++, Objective-C/Cocoa, familiar with Python.
EDIT: Many people suggest F#. But I would love to (with no offense to others), stay away from .NET platform and other MS ecosystems.
Advantages Of Functional ProgrammingIt allows us to implement lambda calculus in our program to solve complex problems. Some programming languages support nested functions which improve maintainability of the code. It reduces complex problems into simple pieces. It improves the productivity of the developer.
The Most Popular Web Development Languages According to their research, developers said that JavaScript and SQL are the most popular languages across web developers. A few other popular coding languages include: Java. C#
If you are only going to learn either Python or HTML and CSS then the answer is simple. If you want to go into web development, learn HTML and CSS first. You will no doubt need to learn them eventually and it will be an easy stepping stone into more difficult languages like JavaScript or Python.
Regardless, all web developers should be proficient in HTML, CSS, and JavaScript, which is why most web development or software engineering programs will include them so on their curriculum. Essentially it can be best to start by learning these three.
You might be interested in Ocsigen, a Web framework for OCaml. OCaml is a pretty good language to learn functional programming IMO. It's really strongly functional, unlike Ruby or Python or any other imperative OO language people will try to sell you as "able to do functional programming" (by which they just mean it has first-class functions).
(Disclaimer: I haven't used Ocsigen much myself, but I have heard good things about it. It's on my list of things to do.)
You could learn F# as your functional language and ASP.NET MVC as your web framework. This gives you access to the tools and libraries in the .NET framework.
I took my first steps in web development with ASP.NET MVC and I found it quite simple to start with.
And you could also have a look at the F# Web Tools, as itowlson suggested.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With