ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hello LQ, I'm wondring, if given the chance, what paradigm of programming would you WANT or enjoy programming in most?? Undoubtly Procedural is the majority by history, but if given the chance without previous factors(current project lock-ins), at this current, day, age and moment, would you prefer a Functional or Procedural language??
Thanks in advance as it's something I'm very much curious about, and I don't rally have a preference as of yet.
Last edited by heavensrevenge; 05-26-2008 at 11:25 AM.
Reason: wrong spelling
First, what is a "padigram"? Did you maybe mean "paradigm"??
By gosh you're right, I never actually heard it used in proper context until now then.. thank you for the correction Took me a couple trys to pronoune the damn thing and get it straight in my mind (pair-a-dyme) got it :P
Quote:
Originally Posted by pixellany
Second, I doubt that I am the only one here that does not know what is meant by functional or procedural programming.
Good point, I DO know the difference, but sadly since I'm so new to the whole concept/separation of the "paradigms" I can't quite explain it clearly enough in a precice enough way yet. But if your patient, this presentation happens to mention it in a way you may feel comfortable with grasping http://blip.tv/file/324976/ I do enjoy watching many presentations and tech-previews, and Google Talks.
There are more than two paradigms in program development and since a paradigm is a way of thinking preference is often more about what you are familiar with. For me I spend a lot of time with the OO paradigm so I find that a more comfortable way of developing, however I have done quite a lot of procedural programming so I can switch to that when necessary. I haven't spent a lot of time developing with the functional paradigm but I can see some advantages that it has over the others, specifically the mathematical rigour that it can bring to the development process. However, personal comfort wins out when I have to make a choice, so unless you are offering a brain rewiring service with this poll I guess that, for me, procedural wins out over functional.
Lisp allows multi-paradigm programming; functional style is encouraged definitely, and safer in all respects, but procedural style is necessary for creating an executable program. Lisp is truly a general-purpose programming language. My favorite is Scheme (Gambit-C in particular).
Joel
For instance, I like to fiddle around with a GPS-based game called Terracaching, and in my area there's a rather intricate puzzle-cache which had a logic-problem with 22 constraints and a 6x6x6 set of conditions to be determined. The cache was rarely found since the puzzle is so difficult. But a "gprolog" program solved the puzzle in about twenty seconds of computing on my slow hardware. It blasts through any "sudoku" puzzle in a few milliseconds.
Two things may be worthy of note: (1) that there are a lot of other styles of programming as well, like "declarative" (PROLOG, for example) and "stack-based" (FORTH or Factor, for example). (2) Any decent multi-purpose language will transcend any particular paradigm: Haskell is useless without monads which allow you to write procedural code, and AJAX applications rely heavily on certain functional capabilities in JavaScript.
That said, my favorite languages are ones which are typically considered "functional", and especially those which are strongly and statically typed: Haskell, SML, OCaml. As an aside, if you're interested in seeing just how paradigms can be mashed up successfully in various languages, try Erlang (functional + declarative) or Haskell (functional + procedural).
Thank you to the few that answered, I will pursue the path of functionality with Learning 1st Haskell, and then Joe Armstrong's Erlang book afterwards to know both reasonably buzzy words to open a few extra doors for me. Thank you once again, and yes I'll indeed try to join in on this forum a bit more!! You guys are pretty awesome and knowledgeable.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.