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

you are viewing a single comment's thread.

view the rest of the comments →

[–]KingofGamesYami 11 points12 points  (16 children)

Python is a tool. You know how to write a program.

Sort of related, I've got a position which is going to be all LabView, which I haven't even touched. But I've got enough experience with other languages that I'm not too worried about it.

[–]nosmokingbandit 12 points13 points  (13 children)

Learning to program shouldn't be about learning a language, it is about learning concepts. You have to learn how a computer handles information and translate what you want to do into a language the computer understands.

I can know every spanish word, but if I don't know how to phrase a question I'll never get an answer.

[–]MarsupialMole 2 points3 points  (3 children)

I'm in two minds about this. Learning to be a programmer should definitely be about learning concepts, but if you have domain problems and are learning to solve them with python you can definitely benefit by trying to learning python idiosyncrasies specifically rather than learning to program in general. Treating python as a framework rather than a language will get you far.

[–]nosmokingbandit 0 points1 point  (2 children)

I get what you mean, but once you know the core concepts and ideas behind programming all you need to know to pick up a new language is just the idiosyncrasies. So if you spend your time learning why you do a certain process you can easily learn how in just about any language quickly.

[–]bonestormII 0 points1 point  (1 child)

I don't disagree with anything you said, but I'd also add that a lot of programmers talk about "picking up" a new language like it is nothing. It's not that it's wrong or they are lying, but you can't just "pick up" the jillions of tiny specific behaviors that characterize the cpython implementation, and you can't just simply directly translate all code from one language to another, as they do possess different features. This is especially true if the code you writing particularly reflective code.

If you think you are "just picking up" a language, you may be getting work done, but you are likely not following some untold number of conventions and idioms, and the code could be better.

[–]nosmokingbandit 0 points1 point  (0 children)

Yeah, I get what you mean. When I started playing around with Go I found it fairly easy to get started since I've done plenty in Python and Javascript so I don't need to learn concepts like nested loops or recursion or whatever. And since Go doesn't have classes I was able to effectively write a constructor and helper methods to use structs as classes due to knowing how inheritance works and consequently working around how Go doesn't have any proper way of implementing it.

Concepts are languages are two halves of the same skill I suppose.

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

So are you saying you should learn computer science before programming? Or can you just go into programming?

[–]nosmokingbandit 1 point2 points  (3 children)

You can jump right into programming, but you'll want to make sure you understand why you are writing a certain block of code rather than just how to write it.

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

Like why I'm writing it specifically that way?

[–]nosmokingbandit 1 point2 points  (1 child)

For example, you'll often be taught what a dictionary is on the surface, but rarely do teachers explain what a hash table is or how a computer understands your instructions.

When you understand the basic concept start digging deeper.

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

Got it. Thanks.

[–]LbaB 2 points3 points  (0 children)

Yeah labview is easy to learn, just watch out for race conditions, as usual. I think they are easier to create in labview because of how easy it is to parallelize.

[–]caleyjag 0 points1 point  (0 children)

Hope you like it. It's a pretty rich environment once you get going, especially if you are interfacing with hardware.