Prolog as first programming language [closed] - prolog

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I'm a computer engineering student but i've never programmed in my life (i've only studied physics, chemistry, control systems etc). Since I know a lot more about math than programming languages, and I'm studying logic right now on my own (i read it can be useful for artificial intelligence), i was thinking about learning Prolog as a first programming language. I tried to find some information about it on the internet but i couldn't really find much, all i discovered is that it's not really useful for landing a job but it can give you a different "mindset". Do you think it would be worth to learn it, or it would just be better learning something like C, Python etc?
Thank you!

Prolog is indeed a wonderful language, and it makes you think is a very differnt mode from other languages. As for making it a first, I think that's a bold move, and I suspect it'll make learning more languages a bit of a challenge. If your intent is to learn sofware engineering, I'm very sure you'll eventually learn another one.
I'd start with Python but, since you're curious already, learn it on the side.

Related

How to improve coding skills? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I can't say I'm weak in programming but I can't come up with the logic faster. I can analyse others code and get to know the logic. But I can't do it on my own. How can I improve my programming skills?
Quite a broad question but from my own, 30yr experience I can tell you there is no way around starting to
analyze existing code,
modify some things (play with it until it feels like it's your own code)
see what the changes do
develop your own ideas on how to do things faster/better/more beautiful
implement your ideas
see if it works
go on to more complex tasks
read books (very important, because many things can't just be discovered by trial'n'error)
be very passionate and determined about what you want to become reality
if you want to learn faster, then write more code
One very important item. You should have fun with what you do is always the best guarantee for success
If you fail at these items then I'm afraid you will never succeed with programming. But then maybe it's like any other field of knowledge.
I experience the same difficulties during my learning journey, too. When I complete challenge tasks I create more complex tasks for myself to see what I can do. It takes me to the next levels of solving problems.
Practice, Practice, Practice!

Ruby on Rails marketability [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I've been researching about Ruby on Rails and its marketability today. How does it compare to the other programming languages (like JAVA)? Would it be a really great time to learn it now? Will it be beneficial for me to learn this as my primary programming language?
I just wanted to know the highs and lows for this technology before I dive in and start learning.
Your opinions would be appreciated.
The name of the programming language is Ruby. Ruby on Rails is an awesome framework for fast, efficient building of web applications.
Ruby is an interpreted language in opposition to Java or C#, which are compiled.
With Ruby there's no need for type definition or type casting, no semicolons at the end of the line, no parentheses for method invocations, operators overload, getters/setters automatically available for all instance variables and many, many more. (copied from here)
I think that the learning curve with ruby is very steep.
But, after all, all the above is just an opinion ... my opinion. And you're question "Would it be a really great time to learn it now?" is answered by the pragmatic programmers: Learn a new programming language every year. So, why not starting learn Ruby now?

Advanced Rudimentary Computing? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Lets say that my definition of 'rudimentary programming' refers to the fundamental tools employed for a computer to perform a task.
Considering programming rudiments, the learning spectrum usually looks something like this:
Variables, data types and variable memory
Arrays/Lists and their manipulation
Looping and conditionals
Functions
Classes
Multi threading/processing
Streams (hard-disk and web)
My question is, have I missed any of the major rudiments? Is there a 'next' to the spectrum that still eludes me?
I think you missed the most important one: algorithms. Understanding the complexity, know the situation to use them, why use them and more important, how to implement them.
I'm pretty sure that you already know a lot about algorithms but if you think that your tool-knowledge (aka the programming languages) are good enough, you should start focus, more, on the algorithms.
A great book to start is: Introduction to Algorithms, from Thomas H. Cormen

Ideas for non-technical exercises to reinforce the concept of test-driven development? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm running a course to help students understand some important technology concepts, but the students do not know how to code (nor is this the point of the course).
For many concepts / practices in web development, I've come up with non-technical exercises that give them an understanding for how the tech equivalent works. For example, to explain Pair Programming, I have students solve a logic puzzle by themselves first, and then solve a puzzle of similar difficulty in pairs. This highlights both the positives and negatives the pair programming experience.
I am struggling to come up with a similarly non-technical example or exercise that would help them understand the pros and cons of TDD. Any ideas would be much appreciated!
I would suggest searching for TDD analogies such as this one:
The Door analogy
Perhaps this will give you some inspiration. Expand this out and explain the benefits as you work through the example?

automated theorem proving program - where to start? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I'm a second year student with my discrete mathematics 2 assignment is to make an automated theorem prover. I have to make a simple prover program that works on Propositional Logic in 4 weeks (assuming that the proof always exist). I've googled so far but the materials there is really hard to understand in 4 weeks. Can anyone recommend me some book/site/open source code that is for beginners or some useful hints to start with? Thank you in advance.
Note: I flagged this to be moved to the Computer Science site because they are much more on top of ATP over there.
It would be nice if you could include what you have looked at and why it does not help you. Then we can figure out what might be better for you. Also, if you have to write a program, then knowing what languages you know will help. Most of what I do with this is done in a functional language such as OCaml or F#, or a logic language such as Prolog or Mercury.
Have you seen "Handbook of Practical Logic and Automated Reasoning" (WorldCat) by John Harrison. I included the (WorldCat) link so you can find the book in a local library as opposed to waiting to buy it which will eat up most of your time.
If you look you will find the OCaml code at the bottom of the page, and F# here and Haskell here.
In case you haven't see the ATP or Proof Assistant at Wikipedia, you might get a lead to some code and papers.

Resources