What do you know about Prolog?
-
I have the opportunity to do a course in Prolog...and am considering it purely for the sake of learning another language (and a declarative one at that) since, as far as I can determine, there is almost no other benefits to be had from learning it (I've Googled quite a bit already).
If you know anything about Prolog, I'd like to know your opinion on it and whether or not you think I am going to be wasting my time entirely (which is kind of what it seems like to me at this point in my research).
Thanks!
-
[quote author="goblincoding" date="1360323329"] whether or not you think I am going to be wasting my time entirely (which is kind of what it seems like to me at this point in my research).
[/quote]I think that learning a new language extends your reach area in the sense that you learn new ways of thinking and solving problems.The thing you have to be careful about is that you do that after you are really good at one language at least.
-
bq. I think that learning a new language extends your reach area in the sense that you learn new ways of thinking and solving problems
Not necessarily - and in the case of such a rarely used language it may very well end up as being useless conceptual baggage you will drag around with you until the day you forget it. And if you are to learn something new, if it is not practically useful it should at least be something fundamentally new and therefore more enriching.
If you have the time, I think it would be better to invest it into some other skill, what makes a diverse person is the ability to have numerous perspectives on life and its challenges, a programmer's perspective on its own is very one-sided, just as any other perspective on its own, but as you acquire more and more perspectives you get conceptual volume, the concept is no longer the flat projection of a single perspective, but a multi-dimensional and even multi-channel way of perceiving.
A programmer will look at a certain problem in pretty much the same way, with very little depending on the actual programming language, an engineer however will have a significantly different perspective on it, even more so an artist/designer, or why not even a philosopher, so if you have all of those perspectives at the same time, you will see the problem in a whole new way that is completely hidden for any one-sided perspective.
This is called Polymathism and is the best possible source of inspiration and creativity. Of course it doesn't come without a cost, it is very taxing to develop yourself in numerous directions at the same time, and progress is slower.
-
I am not feeling particularly inspired about it, but need to choose one more module for a postgraduate course I am doing and the alternatives to the Prolog module (officially "logic based reasoning") is "machine learning" (with a prescribed textbook published in 1997 and no programming, purely theoretical), "formal logic" and "software project management"...and I am not feeling particularly drawn to any of these...
Choices, choices... :)
-
I'd be willing to learn some Verilog, yes I know it is different domain, but at least to me it is more practical and applicable. Custom task specialized hardware has always been a tempting subject. Plus, unlike Prolog, when I look at Verilog code, I am not completely clueless and in the dark... I know it is supposed to be a logic programming language, but the syntax looks entirely ILLOGICAL to me.
I don't know any Prolog, but the paradigm seems to be much different than most programming languages. So it does offer a new perspective, but it doesn't seem to be one that is very applicable. And how enriching...
But I guess if it is about adding to your education... then why not. Worst case scenario you will forget it after a while :)
Software project management sounds like having more potential to improve career opportunities.
-
[quote author="utcenter" date="1360401694"]Software project management sounds like having more potential to improve career opportunities.[/quote]
I've arrived at the same conclusion. Thanks for all the input :)
-
[quote author="utcenter" date="1360401694"]I'd be willing to learn some Verilog, yes I know it is different domain, but at least to me it is more practical and applicable.[/quote]
If you have some background hardware programming or at least attended the Digital Circuit module at college,it would not be so hard to find your way around.Qt is also gaining some ground in hardware programming,I'd consider it before trying to learn some new and foreign language!