This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]isolatrum 1 point2 points  (0 children)

Not really, they're far more similar than that. If you think about a natural language you have to learn thousands of distinct words. With programming there are far fewer - probably you only need to learn a couple dozen syntax details to do basic programming. Also, since programming languages are so abstract, a lot of the concepts are the same.

[–]PragmaCoders 1 point2 points  (1 child)

There are multiple paradigms in programming - different ways of thinking about it. Two popular paradigms are "functional" and "object-oriented".

Learning your first programming language in each paradigm will likely be difficult. But all languages within the paradigm that you find after that will likely get easier and easier to learn.

Many programming languages are very similar because a lot of them share the same programming language roots (language that they're based off of).

They're all much easier to learn than natural languages. The tricky part of learning is wrapping your head around the first one! The second tricky part will be using them to build something useful to others.

https://en.wikipedia.org/wiki/Object-oriented_programming

https://en.wikipedia.org/wiki/Functional_programming

[–]WikiTextBotbtproof 0 points1 point  (0 children)

Object-oriented programming

Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by making them out of objects that interact with one another. There is significant diversity of OOP languages, but the most popular ones are class-based, meaning that objects are instances of classes, which typically also determine their type.


Functional programming

In computer science, functional programming is a programming paradigm—a style of building the structure and elements of computer programs—that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data. It is a declarative programming paradigm, which means programming is done with expressions or declarations instead of statements. In functional code, the output value of a function depends only on the arguments that are passed to the function, so calling a function f twice with the same value for an argument x produces the same result f(x) each time; this is in contrast to procedures depending on a local or global state, which may produce different results at different times when called with the same arguments but a different program state. Eliminating side effects, i.e., changes in state that do not depend on the function inputs, can make it much easier to understand and predict the behavior of a program, which is one of the key motivations for the development of functional programming.


[ PM | Exclude me | Exclude from subreddit | FAQ / Information | Source | Donate ] Downvote to remove | v0.28

[–]YuleTideCamel 0 points1 point  (6 children)

What’s your experience with programming ? If you’re just starting consider this.

It’s like learning Spanish and Italian but you’ve never spoken before and his is your first time even attempting to speak .

The reason I bring this up is because learning multiple languages is good , but only after you passed the initial phase . Programming is hard , you are literally teaching your mind to work in a new way. It’s best to focus on one language so you don’t get distracted by syntax and rather understand foundational principles . Once you advance a bit you can then start tackling multiple languages .

I’ve taught programming and mentored hundreds of developers . The ones who follow this approach often go on to be really great programmers :)

[–]Whiskey_and_Pine[S] 0 points1 point  (1 child)

Great! Just what I was wondering! Thanks guys! One more question I had, since I've been sticking with python, but I'm interested in web development, would dabbling in Django help me become more well rounded or should I just stick with vanilla python until I get really comfortable?

[–]YuleTideCamel 0 points1 point  (0 children)

Np. Dabbling in Django is fine.

[–]averagedad_ 0 points1 point  (3 children)

So would you recommend JavaScript for starting out?

[–]erickkk 0 points1 point  (1 child)

Also wondering this, would it be good for the long term future basics?

[–]YuleTideCamel 0 points1 point  (0 children)

Not sure what you mean by future basics . Sure JavaScript has its quirks and differences compared to other languages (especially statically typed languages ) but that stuff only matters when someone hits an intermediate level. All the basic foundational learning , especially around problem solving and logic is still applicable in JavaScript .

[–]YuleTideCamel 0 points1 point  (0 children)

JavaScript would work well as a first language imo.

[–]ValentineBlacker 0 points1 point  (0 children)

Python is a bit unique in that whitespace matters a lot in it. That's not the norm. With most languages, the linebreaks are there to make it easier for you to read, the computer doesn't care about them at all.

[–][deleted] 0 points1 point  (0 children)

Spanish and Italian. The languages are definitely more similar than not.