Difference between revisions of "ProgrammingTools"

m (Reverted edits by P.petrelli (talk) to last revision by H.wolff)
(Tag: Rollback)
 
Line 1: Line 1:
 +
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 ==
  
{{Template:Working_on}}
+
=== Stack Overflow ===
  
While you can write code with a simple text editor, there are many tools that make programming far easier, faster, and more reliable.
 
  
 
== Version Control ==
 
== 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.
  
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.
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.
 
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)
 
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]
*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]  
*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]
 
*[[Git_Introduction|CMS training]]  
 
  
 
'''Intermediate'''
 
'''Intermediate'''
 
+
* Text: [https://www.atlassian.com/git/tutorials Atlassian (several)]
*Text: [https://www.atlassian.com/git/tutorials Atlassian (several)]  
+
* LinkedIn Learning<sup>*</sup>: [https://www.linkedin.com/learning/git-intermediate-techniques Git Intermediate Techniques]
*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'
 
<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.
 
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.
  
Line 38: Line 36:
  
 
'''Beginner'''
 
'''Beginner'''
 
+
* Text: [https://www.tutorialspoint.com/svn/index.htm Tutorials Point]
*Text: [https://www.tutorialspoint.com/svn/index.htm Tutorials Point]  
+
* Video: [https://youtu.be/nrZ3i1R1y4Q SVN Training Tutorial for Beginners]
*Video: [https://youtu.be/nrZ3i1R1y4Q SVN Training Tutorial for Beginners]  
 
  
 
== Integrated Development Environments (IDE) ==
 
== Integrated Development Environments (IDE) ==
Line 47: Line 44:
  
 
=== Atom ===
 
=== Atom ===
 
== Online Resources ==
 
 
=== Stack Overflow ===
 
  
 
<references />
 
<references />
  
 
[[Category:Training]]
 
[[Category:Training]]

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 />