Difference between revisions of "ProgrammingTools"
(Created page with "While you can write code with a simple text editor, there are many tools that make programming far easier, faster, and more reliable. == Online Resources == === Stack Overfl...") |
P.petrelli (talk | contribs) m (Reverted edits by P.petrelli (talk) to last revision by H.wolff) (Tag: Rollback) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
Only the shortest of programs can be written in a single session focussed on the program itself. | Only the shortest of programs can be written in a single session focussed on the program itself. | ||
− | If the program gets only a little bit more complex, | + | If the program gets only a little bit more complex, a version control system quickly gets indispensable. |
+ | A version control system keeps track of all the changes that are made to the code base, allowing you to easily roll back to earlier versions, or 'branching out' to experiment without interfering with the core code. | ||
+ | |||
+ | Usually, by the time that you realise that you should have used a version control system, it's too late (to go back, still a good idea to start using version control going forward with this code), so I recommend starting every project with version control from the start. | ||
=== Git === | === Git === | ||
+ | Git is our version control program of choice. It is easy to set up and use for the beginner, but can also be scaled up immensely to manage truly herculean projects. (It was originally created to manage the Linux Kernel) | ||
− | ''Beginner'' | + | '''Beginner''' |
* Text: [https://git-scm.com/docs/gittutorial Git Tutorial] | * Text: [https://git-scm.com/docs/gittutorial Git Tutorial] | ||
* Text: [http://swcarpentry.github.io/git-novice/ Git Novice on Software Carpentry] | * Text: [http://swcarpentry.github.io/git-novice/ Git Novice on Software Carpentry] | ||
− | * | + | * Video: Various, e.g. [https://youtu.be/8JJ101D3knE Learn Git in 1 Hour] |
+ | * LinkedIn Learning<sup>*</sup>: [https://www.linkedin.com/learning/git-essential-training-the-basics/use-git-version-control-software-to-manage-project-code Git Essentials Training] | ||
− | ''Intermediate'' | + | '''Intermediate''' |
+ | * Text: [https://www.atlassian.com/git/tutorials Atlassian (several)] | ||
+ | * LinkedIn Learning<sup>*</sup>: [https://www.linkedin.com/learning/git-intermediate-techniques Git Intermediate Techniques] | ||
+ | |||
+ | <sup>*</sup>LinkedIn Learning is a paid service, but some Universities offer access to their courses to their employees and students for free. Try to 'log in with your institution' | ||
=== Subversion === | === Subversion === | ||
+ | Subversion is an older, and more hierarchical Version Control System. It is advantageous to git if you need tight control over your sources because it is very centralised. | ||
+ | |||
+ | For this reason, many of the proprietary models use subversion as their version control program of choice. | ||
+ | '''Beginner''' | ||
+ | * Text: [https://www.tutorialspoint.com/svn/index.htm Tutorials Point] | ||
+ | * Video: [https://youtu.be/nrZ3i1R1y4Q SVN Training Tutorial for Beginners] | ||
== Integrated Development Environments (IDE) == | == Integrated Development Environments (IDE) == |
Latest revision as of 02:45, 30 July 2021
While you can write code with a simple text editor, there are many tools that make programming far easier, faster, and more reliable.
Contents
Online Resources
Stack Overflow
Version Control
Version control is used to keep a history of how your code changed during its development. Only the shortest of programs can be written in a single session focussed on the program itself.
If the program gets only a little bit more complex, a version control system quickly gets indispensable. A version control system keeps track of all the changes that are made to the code base, allowing you to easily roll back to earlier versions, or 'branching out' to experiment without interfering with the core code.
Usually, by the time that you realise that you should have used a version control system, it's too late (to go back, still a good idea to start using version control going forward with this code), so I recommend starting every project with version control from the start.
Git
Git is our version control program of choice. It is easy to set up and use for the beginner, but can also be scaled up immensely to manage truly herculean projects. (It was originally created to manage the Linux Kernel)
Beginner
- Text: Git Tutorial
- Text: Git Novice on Software Carpentry
- Video: Various, e.g. Learn Git in 1 Hour
- LinkedIn Learning*: Git Essentials Training
Intermediate
- Text: Atlassian (several)
- LinkedIn Learning*: Git Intermediate Techniques
*LinkedIn Learning is a paid service, but some Universities offer access to their courses to their employees and students for free. Try to 'log in with your institution'
Subversion
Subversion is an older, and more hierarchical Version Control System. It is advantageous to git if you need tight control over your sources because it is very centralised.
For this reason, many of the proprietary models use subversion as their version control program of choice.
Beginner
- Text: Tutorials Point
- Video: SVN Training Tutorial for Beginners
Integrated Development Environments (IDE)
Visual Studio Code
Atom
<references />