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...")
 
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]
* LinkedIn Learning<ref name="linkedin">[https://example/com] 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'</ref>: [https://www.linkedin.com/learning/git-essential-training-the-basics/use-git-version-control-software-to-manage-project-code Git Essentials Training]  
+
* 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 01: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.

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

Intermediate

*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

Integrated Development Environments (IDE)

Visual Studio Code

Atom

<references />