Notifications
Clear all

Learning Python

54 Posts
7 Users
49 Likes
817 Views
robotBuilder
(@robotbuilder)
Noble Member
Joined: 3 years ago
Posts: 1554
 

@frogandtoad 

I looked into learning "Julia" a few years ago, and if you like it, you may also like to have a look into "LUA" which is recognised as being very versatile and fast. Right now I am screwing around with "Go" and "Rust"... it never ends!

Well it ended for me I have no need for all those different languages or have the time to learn them.

I spent time with Python on the Raspberry Pi not because I like it but because everyone else uses it for their RPi hardware projects. Here is a view as to the best way to learn Python.

https://www.dataquest.io/blog/learn-python-the-right-way/

 

This post was modified 3 months ago by robotBuilder

   
ReplyQuote
frogandtoad
(@frogandtoad)
Noble Member
Joined: 3 years ago
Posts: 1476
 

@robotbuilder

Posted by: @robotbuilder

@frogandtoad 

I looked into learning "Julia" a few years ago, and if you like it, you may also like to have a look into "LUA" which is recognised as being very versatile and fast. Right now I am screwing around with "Go" and "Rust"... it never ends!

Well it ended for me I have no need for all those different languages or have the time to learn them.

I spent time with Python on the Raspberry Pi not because I like it but because everyone else uses it for their RPi hardware projects. Here is a view as to the best way to learn Python.

https://www.dataquest.io/blog/learn-python-the-right-way/

 

I'm not exactly sure what you meant by: "it ended for me", i.e:- what ended what?

For a hobbyist, you shouldn't just do something just because everyone else appears to be doing/using it... you should use it because it's the right tool for the job; in which helps you to achieve your goals the best, and keeps you engaged and happy.

In the IT world I live in, there is no choice but to learn and keep up to date with as many technologies (software development, networking, etc...) as I can, that's just the nature of this industry (lifelong learning), and does help to keep you engaged as technology evolves.

I also checked out that blog posters view.  Although I can agree with much of what he says, at the end of the day, it's just common sense imo - In fact, there is nothing he said that could not be applied to learning any language, as it's always best to learn hands on with a personal project you're interested in - The key factor in learning is being able to remain engaged, otherwise you're gone!

Cheers


   
ReplyQuote
robotBuilder
(@robotbuilder)
Noble Member
Joined: 3 years ago
Posts: 1554
 

@frogandtoad 

I'm not exactly sure what you meant by: "it ended for me", i.e:- what ended what?

Trying different languages.

I don't live in the IT world so I don't have the need to be on top of all the current languages.

I go for months without coding but over the few days I spent a few hours working on my own version of SLAM for LIDAR data.  I might post my efforts for suggestions but not here as we have already gone of topic!!

 

 

This post was modified 3 months ago 2 times by robotBuilder

   
frogandtoad reacted
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 8 months ago
Posts: 959
Topic starter  

Same person... just different perspective this time.  If your answers are the same, that's fine. 

This time, I'd like the information for myself.  I'd kind of like a tutorial that can go through the Internet links I would use to download and install this for development on a 64 bit Windows machine... but then I really don't need all the hand-holding on what is a program, what is an if statement...etc.  I'd really like to avoid reading 300 pages to get two paragraphs worth of useful information.  If such a beast exists... a "Python for C/C++/C# Programmers" type tutorial would be best.

Thanks guys!

VBR,

Inq

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
robotBuilder
(@robotbuilder)
Noble Member
Joined: 3 years ago
Posts: 1554
 

@inq 

Plenty of hits for c++ programmers wanting to learn Python.

This one seemed interesting.

https://intro2ml.pages.doc.ic.ac.uk/autumn2021/modules/lab-cpp/introduction

It gives the c++ version and Python version of the same program much like the Rosetta code examples.

https://rosettacode.org/wiki/Rosetta_Code

 


   
DaveE, ron bentley and Inq reacted
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 8 months ago
Posts: 959
Topic starter  
Posted by: @robotbuilder

@inq 

Plenty of hits for c++ programmers wanting to learn Python.

This one seemed interesting.

https://intro2ml.pages.doc.ic.ac.uk/autumn2021/modules/lab-cpp/introduction

It gives the c++ version and Python version of the same program much like the Rosetta code examples.

https://rosettacode.org/wiki/Rosetta_Code

 

This was one I had found, but wanting recommendations/advice from the knowledgeable on the forum.  I think I recall you are a less than enthusiastic user of Python (kind of dragged in by the bulk of AI being on Python).  Does your suggestion of it mean, you learned using it?  It sounds promising from the first page perusal.

VBR,

Inq

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 8 months ago
Posts: 959
Topic starter  

@robotbuilder - Even better, I backed up to the home page and the Machine Learning class.  The Python will be taught in the context of things necessary for M.L.  😎 

Thanks a lot!

VBR,

Inq

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
ron bentley
(@ronbentley1)
Reputable Member
Joined: 9 months ago
Posts: 328
 

@robotbuilder 

thanks for the link which I have booked marked. This site looks quite interesting especially for C++ coders.

When the nights draw in and I have finished my to-do list I will explore the site for more fully.

Cheers

Ron B

PS

just a query ... why is it called PYTHON?

Ron Bentley
Creativity is an input to innovation and change is the output from innovation. Braden Kelley
A computer is a machine for constructing mappings from input to output. Michael Kirby
Through great input you get great output. RZA
Gauss is great but Euler rocks!!


   
ReplyQuote
DaveE
(@davee)
Prominent Member
Joined: 2 years ago
Posts: 681
 

Hi @robotbuilder and @Inq,

  I normally avoid 'recommendations', treating them as a contemporary plague, so sorry if this looks like one .. and please note I have no connection with this material  ... I just noted @robotbuilder's and @inq's comments ... and thought there maybe others who (like me 🙄 ) skipped over it on the first glance.

  I have only looked at the first few pages, but I agree, @Robotbuilder's Imperial College link looks a good find for a quick Python conversion course.

Glancing at it, and as @Inq noted, there is also a 'fuller' course (that is still being added to) by the same author & institution which claims to cover a wider range of aspects. The intro to the 'fuller' course claims:

The course is not only about Python and programming. We will cover other related topics ranging from algorithms to Software Engineering practices. So I am sure you will learn something new no matter your programming experience!

which may excite you or horrify you .. depending upon background, etc.

------------

For the benefit of anyone else thinking of a Python course, the links are:

Brief conversion from C/C++ to Python

Python Programming course for ML and AI

which introduces

Please note, I am not recommending one option over the other, or either option for that matter ... just suggesting you have a look if you are interested ... at least the cost fits my budget ... free!

Best wishes all, Dave


   
Inq reacted
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 8 months ago
Posts: 959
Topic starter  

@davee - Complete agreement!

@robotbuilder - the recommendation https://intro2ml.pages.doc.ic.ac.uk/autumn2021/modules/lab-cpp/introduction was exactly what I wanted.  Not only the "from" language, but in the context I want to use it.  I got well down into the OOP section (3/4th) before I took a break to look at the https://intro2ml.pages.doc.ic.ac.uk/autumn2021/modules/lab-numpy/introduction primer.  This is exactly the type of Math Matrix/Vector library needed to transform the 8x8 ToF distance data into a global point cloud.  

VBR,

Inq

 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
DaveE reacted
ReplyQuote
ron bentley
(@ronbentley1)
Reputable Member
Joined: 9 months ago
Posts: 328
 

Anyone - am I right in my understanding that python us an interpreted language?

That is, the compiler creates pseudo code which is then interpreted.

If so then it comes with a significant overhead.

Ron B

Ron Bentley
Creativity is an input to innovation and change is the output from innovation. Braden Kelley
A computer is a machine for constructing mappings from input to output. Michael Kirby
Through great input you get great output. RZA
Gauss is great but Euler rocks!!


   
ReplyQuote
robotBuilder
(@robotbuilder)
Noble Member
Joined: 3 years ago
Posts: 1554
 

@inq 

This is exactly the type of Math Matrix/Vector library needed to transform the 8x8 ToF distance data into a global point cloud.  

So I guess you will be using a RPi to run your point cloud building Python code?

Thinking of buying one of these,

It has an 8x8 display for your TOF sensor data and sensors to monitor your robot's orientation.

https://www.altronics.com.au/p/z6304-raspberry-pi-sense-hat-board/

 

This post was modified 2 months ago by robotBuilder

   
ReplyQuote
Will
 Will
(@will)
Noble Member
Joined: 1 year ago
Posts: 2112
 
Posted by: @ronbentley1

Anyone - am I right in my understanding that python us an interpreted language?

Yes, it's interpreted.

I was kidnapped by mimes.
They did unspeakable things to me.


   
ReplyQuote
ron bentley
(@ronbentley1)
Reputable Member
Joined: 9 months ago
Posts: 328
 

@will 

Thanks Will, I thought so.

I think I'll stick to C++.

Cheers

Ron B

Ron Bentley
Creativity is an input to innovation and change is the output from innovation. Braden Kelley
A computer is a machine for constructing mappings from input to output. Michael Kirby
Through great input you get great output. RZA
Gauss is great but Euler rocks!!


   
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 8 months ago
Posts: 959
Topic starter  
Posted by: @robotbuilder

So I guess you will be using a RPi to run your point cloud building Python code?

I don't really know yet.  At first the idea is to just WiFi it to my laptop.  As you know, I'd like to get it back on the bot eventually,... so RaspPi will be the eventual final solution if possible.  C++, JavaScript or Python is portable to both PC and RaspPi so, that doesn't make a decision.  I'm reading that JavaScript is faster than Python and is just as iteratively fast to develop since its also interpreted.  I already do JavaScript coming from the bot out to any client.  The high-speed 2-way communication / telemetry path is already established for JavaScript. 

I assume I'll always be CPU limited, so eventually, it has to get back to C++.  I'm thinking JavaScript is my known go-to.  I want to keep an open mind though... Python libraries like this NumPy and others might show superior promise.  I'm reading up and will go through the Machine Learning tutorial you linked before coming to a decision.  

Posted by: @robotbuilder

Thinking of buying one of these,

It has an 8x8 display for your TOF sensor data and sensors to monitor your robot's orientation.

https://www.altronics.com.au/p/z6304-raspberry-pi-sense-hat-board/

I've noted from several of the forum members in Australia  that electronics seem awfully expensive compared to what we get here in the US or even compared to direct from China prices.  That part seems like a pretty inclusive part to do just about anything you could ever want. 

Purely personal preference, but I tend to go the other way toward small and less things on one break-out board.  And I never would put I/O devices like buttons, sticks, screens on a robot.  I don't want to chase it down to stop it from running into the wall. 😉  I'd much rather use one of may bone-yard, high-resolution cell phones/tablets with touch-screen and decent computer for input, control and telemetry.  For the sensor side on a bot, I use things like this one does the 10 DOF (Accel, Gyro, Mag, Barom) for $7 US. I picked this one from China, since its closer to you than me.  I'm guessing you get delivery from China fairly quick???? or are the Australian/China relations we see putting a damper on that sort of thing?

image

"https://www.ebay.com/itm/403471886740"  

 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Page 2 / 4