So, as promised this is the list of resources that we can use to understand various computer languages and how to really write and structure computer programs. To be able to do Mathematics computers is our goal and with time we will learn to structure our equations, generate new equations , permutations and so many more structures which come up in a Mathematical Analysis.
Learning how to code properly and becoming adept at various programming styles and methodology would be only beneficial for us if we wish to Do Good and Do Well.
How to approach a language ?
See, learning to ask the right question is half the job done. Languages, are extremely complex, there is no denying this fact so how can we take our first steps in a language till we are quite able to walk, run and gradually learn to explore the language on our own.
The best way, for me, is to approach a language with a goal in mind and then learn how to break down the complexity and understand these fundamental narrow structure so as to be "Functional First and Fluent Later " in a language. Take Python for an example, Python is the language of Sagemaths so investing in Python does make a lot of sense. But due to it's immense popularity it is used for gazillion things, ranging from making a website to forming a database, from system administration to game designing.
So, instead of focusing on every little aspect of the language and learning it's entire ecosystem I would rather focus on those aspects of the languages which are most relevant to my needs. Which, at the moment, is to learn how to really arrange the basic functions provided by Sagemaths system and to use them coherently to solve the problem at hand. It involves automating certain aspects, making new functions of my own and to be able to Create New Mathematical Structures ( be they childish !) using the capabilities of the Python language, perhaps using the Object Oriented Features of the language.
As learners and being the children of Internet, we have soo many options and alternatives to help us learn something.We can use lots and lots of ebooks, videos, blogs and even podcasts which people have so graciously put up on the Internet.
Though there is a flipside to Internet as well, it makes us too vulnerable to drift off, to some movie, some social networking site or, I don't know, a million things;)
But to be able to use the Internet effectively we must Take Control !!
Take Control of our time, of our attention and of our need. Simply put, it's like learning to meditate in a Traffic Jam, difficult but definitely useful and doable.
I mean, it's not as if we can't imagine a world without Internet or something, just switch off your phone for an hour and stay away from all such devices, you will notice something pleasant. As far as I am concerned, I wish to use the Internet as an extension of myself, something that helps me fulfil my needs and a means to get to an end, though to be honest, the impulse to drift off is just too overwhelming sometimes. But No Drifting is my motto on the Internet.
The list of resources for each language(and Emacs) that I promised in the last post are listed below. I don't follow each and every resource mentioned in the list but a just the ones which I find to be relevant and, to be frank, I generally follow of the practice of Minimalism and being Unbusy. Being entombed in clutter would be Nightmare, don't you agree ?
So, based on my own priority order here are the links for Python.
Problem Solving with Algorithms and Data Structures
Invent wIth Python - Problem Solving with Algorithms and Data Structures
Invent With Python - Hacking Secret Cyphers with Python
How to Think like a Computer Scientist
Think Python
Official Python Documentation
The following are the links which offer a great introduction to the Language and the Possibilities.
Snake Wrangling for Kids
Invent With Python Main website
A Byte of Python
Learn Python the Hard Way
The Standard Python Library Ebook
Don't forget that you look up various ppt's on the Google search; these often turn out to be quite helpful for a quick overview of what we want to learn.
Julia
As I have mentioned Julia language in the previous post, I am gonna skip repeating the introduction to the language. But in the past couple of days I have explored it further and it has made me only more exiting about the language. And there is another benefit in learning this language, you can enter a virtual apprenticeship in this awesome community. The language in itself is quite simple and much like python but only more lovelier. Though young, Julia offers us an opportunity to witness how an ecosystem really grows and most of the library of the language being written in Julia itself makes it all the more fun to explore. It would be a fun language to learn !!
The Official Julia Webpage
Now, why would I learn a language which is similar to the one that I already know ?
Simply because, I find that differences only highlight the similarities in two things. It's all a dialectical process. I find that the best way to learn something, know it to it's bare bones we must learn something similar to it. Differences don't necessarily have to mean "better" or "worse" but just that it is different. So, I tend to use this two-similar-things method a lot. Be it with Haskell and Lisp, Vi or Emacs or even with Python and Julia both are on my to-do list. To put it simply I try to avoid excluding things ( this Or that !) until it's absolutely necessary and it offers me something better. I like Dialectics;P
Emacs
If you like Vim more, then absolutely no problem. Actually there are two legendary text editors in the programming world and both were incidentally launched in the same year, about 30 years ago !! Can you imagine something else like that in the computer age ?
So, rest assured that they have been tested by time an they are on the top of the evolutionary selection cycle. Pick either one !!
I prefer Emacs more as it comes with a LISP language of it's own and I am just fascinated by LISPs so that's a more intriguing editor for me. Though the language has been outdated in many respects but still brings a feeling of nostalgia in my mind. I like it !!
Here's the list of resources that you would find extremely helpful in mounting this beautiful stallion;P
Mastering Emacs
Emacs wiki
The Magnificent Emacs - Orgmode
Official Emacs Resources
A couple of blogs, you really should check out.
Emacs fu
Introductary Videos
R
R, as mentioned in the last post has become a de-facto standard for everything related to Statistics and Probability. And I would like to be able to explore and understand these aspects of Mathematical Analysis better. Here are some links, to help you get started as well.
Official Page
R - Tips
R for beginners
Statistics with R
So, get started with a book. Skim it at first and then go through it thoroughly in an organized way. In the meantime, I am preparing the content for the future posts and working on how to really structure programs, as opposed to using just the basic functions in Sagemaths, to explore Mathematics.
Learning how to code properly and becoming adept at various programming styles and methodology would be only beneficial for us if we wish to Do Good and Do Well.
How to approach a language ?
See, learning to ask the right question is half the job done. Languages, are extremely complex, there is no denying this fact so how can we take our first steps in a language till we are quite able to walk, run and gradually learn to explore the language on our own.
The best way, for me, is to approach a language with a goal in mind and then learn how to break down the complexity and understand these fundamental narrow structure so as to be "Functional First and Fluent Later " in a language. Take Python for an example, Python is the language of Sagemaths so investing in Python does make a lot of sense. But due to it's immense popularity it is used for gazillion things, ranging from making a website to forming a database, from system administration to game designing.
So, instead of focusing on every little aspect of the language and learning it's entire ecosystem I would rather focus on those aspects of the languages which are most relevant to my needs. Which, at the moment, is to learn how to really arrange the basic functions provided by Sagemaths system and to use them coherently to solve the problem at hand. It involves automating certain aspects, making new functions of my own and to be able to Create New Mathematical Structures ( be they childish !) using the capabilities of the Python language, perhaps using the Object Oriented Features of the language.
As learners and being the children of Internet, we have soo many options and alternatives to help us learn something.We can use lots and lots of ebooks, videos, blogs and even podcasts which people have so graciously put up on the Internet.
Though there is a flipside to Internet as well, it makes us too vulnerable to drift off, to some movie, some social networking site or, I don't know, a million things;)
But to be able to use the Internet effectively we must Take Control !!
Take Control of our time, of our attention and of our need. Simply put, it's like learning to meditate in a Traffic Jam, difficult but definitely useful and doable.
I mean, it's not as if we can't imagine a world without Internet or something, just switch off your phone for an hour and stay away from all such devices, you will notice something pleasant. As far as I am concerned, I wish to use the Internet as an extension of myself, something that helps me fulfil my needs and a means to get to an end, though to be honest, the impulse to drift off is just too overwhelming sometimes. But No Drifting is my motto on the Internet.
The list of resources for each language(and Emacs) that I promised in the last post are listed below. I don't follow each and every resource mentioned in the list but a just the ones which I find to be relevant and, to be frank, I generally follow of the practice of Minimalism and being Unbusy. Being entombed in clutter would be Nightmare, don't you agree ?
So, based on my own priority order here are the links for Python.
Problem Solving with Algorithms and Data Structures
Invent wIth Python - Problem Solving with Algorithms and Data Structures
Invent With Python - Hacking Secret Cyphers with Python
How to Think like a Computer Scientist
Think Python
Official Python Documentation
The following are the links which offer a great introduction to the Language and the Possibilities.
Snake Wrangling for Kids
Invent With Python Main website
A Byte of Python
Learn Python the Hard Way
The Standard Python Library Ebook
Don't forget that you look up various ppt's on the Google search; these often turn out to be quite helpful for a quick overview of what we want to learn.
Julia
As I have mentioned Julia language in the previous post, I am gonna skip repeating the introduction to the language. But in the past couple of days I have explored it further and it has made me only more exiting about the language. And there is another benefit in learning this language, you can enter a virtual apprenticeship in this awesome community. The language in itself is quite simple and much like python but only more lovelier. Though young, Julia offers us an opportunity to witness how an ecosystem really grows and most of the library of the language being written in Julia itself makes it all the more fun to explore. It would be a fun language to learn !!
The Official Julia Webpage
Now, why would I learn a language which is similar to the one that I already know ?
Simply because, I find that differences only highlight the similarities in two things. It's all a dialectical process. I find that the best way to learn something, know it to it's bare bones we must learn something similar to it. Differences don't necessarily have to mean "better" or "worse" but just that it is different. So, I tend to use this two-similar-things method a lot. Be it with Haskell and Lisp, Vi or Emacs or even with Python and Julia both are on my to-do list. To put it simply I try to avoid excluding things ( this Or that !) until it's absolutely necessary and it offers me something better. I like Dialectics;P
Emacs
If you like Vim more, then absolutely no problem. Actually there are two legendary text editors in the programming world and both were incidentally launched in the same year, about 30 years ago !! Can you imagine something else like that in the computer age ?
So, rest assured that they have been tested by time an they are on the top of the evolutionary selection cycle. Pick either one !!
I prefer Emacs more as it comes with a LISP language of it's own and I am just fascinated by LISPs so that's a more intriguing editor for me. Though the language has been outdated in many respects but still brings a feeling of nostalgia in my mind. I like it !!
Here's the list of resources that you would find extremely helpful in mounting this beautiful stallion;P
Mastering Emacs
Emacs wiki
The Magnificent Emacs - Orgmode
Official Emacs Resources
A couple of blogs, you really should check out.
Emacs fu
Introductary Videos
Haskell
Now, we come to the language that is the strongest and the most beloved of the modern LISP or more accurately Functional Languages. Haskell, unlike most other languages is beloved by the industry and by the academia as well.
Now, we come to the language that is the strongest and the most beloved of the modern LISP or more accurately Functional Languages. Haskell, unlike most other languages is beloved by the industry and by the academia as well.
R
R, as mentioned in the last post has become a de-facto standard for everything related to Statistics and Probability. And I would like to be able to explore and understand these aspects of Mathematical Analysis better. Here are some links, to help you get started as well.
Official Page
R - Tips
R for beginners
Statistics with R
So, get started with a book. Skim it at first and then go through it thoroughly in an organized way. In the meantime, I am preparing the content for the future posts and working on how to really structure programs, as opposed to using just the basic functions in Sagemaths, to explore Mathematics.
No comments:
Post a Comment