Skip to content

seanpm2001/SNU_2D_ProgrammingTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

All Contributors

SNU_blue_and_gold_legacy_icon.png failed to load

SNU Programming Tools

Programming with any language online.


SNU_2D_ProgrammingTools

The programming center of SNU, with planned support for every computer language, including punchcard languages. This build is required for programmer SNU distributions. Click here to learn how to build SNU: https://gist.github.com/seanpm2001/745564a46186888e829fdeb9cda584de


Read this article in a different language

🌐 List of languages

Sorted by: A-Z

Sorting options unavailable

( af Afrikaans Afrikaans | sq Shqiptare Albanian | am አማርኛ Amharic | ar عربى Arabic | hy հայերեն Armenian | az Azərbaycan dili Azerbaijani | eu Euskara Basque | be Беларуская Belarusian | bn বাংলা Bengali | bs Bosanski Bosnian | bg български Bulgarian | ca Català Catalan | ceb Sugbuanon Cebuano | ny Chichewa Chichewa | zh-CN 简体中文 Chinese (Simplified) | zh-t 中國傳統的) Chinese (Traditional) | co Corsu Corsican | hr Hrvatski Croatian | cs čeština Czech | da dansk Danish | nl Nederlands Dutch | en-us English English | EO Esperanto Esperanto | et Eestlane Estonian | tl Pilipino Filipino | fi Suomalainen Finnish | fr français French | fy Frysk Frisian | gl Galego Galician | ka ქართველი Georgian | de Deutsch German | el Ελληνικά Greek | gu ગુજરાતી Gujarati | ht Kreyòl ayisyen Haitian Creole | ha Hausa Hausa | haw Ōlelo Hawaiʻi Hawaiian | he עִברִית Hebrew | hi हिन्दी Hindi | hmn Hmong Hmong | hu Magyar Hungarian | is Íslenska Icelandic | ig Igbo Igbo | id bahasa Indonesia Icelandic | ga Gaeilge Irish | it Italiana/Italiano | ja 日本語 Japanese | jw Wong jawa Javanese | kn ಕನ್ನಡ Kannada | kk Қазақ Kazakh | km ខ្មែរ Khmer | rw Kinyarwanda Kinyarwanda | ko-south 韓國語 Korean (South) | ko-north 문화어 Korean (North) (NOT YET TRANSLATED) | ku Kurdî Kurdish (Kurmanji) | ky Кыргызча Kyrgyz | lo ລາວ Lao | la Latine Latin | lt Lietuvis Lithuanian | lb Lëtzebuergesch Luxembourgish | mk Македонски Macedonian | mg Malagasy Malagasy | ms Bahasa Melayu Malay | ml മലയാളം Malayalam | mt Malti Maltese | mi Maori Maori | mr मराठी Marathi | mn Монгол Mongolian | my မြန်မာ Myanmar (Burmese) | ne नेपाली Nepali | no norsk Norwegian | or ଓଡିଆ (ଓଡିଆ) Odia (Oriya) | ps پښتو Pashto | fa فارسی |Persian pl polski Polish | pt português Portuguese | pa ਪੰਜਾਬੀ Punjabi | No languages available that start with the letter Q | ro Română Romanian | ru русский Russian | sm Faasamoa Samoan | gd Gàidhlig na h-Alba Scots Gaelic | sr Српски Serbian | st Sesotho Sesotho | sn Shona Shona | sd سنڌي Sindhi | si සිංහල Sinhala | sk Slovák Slovak | sl Slovenščina Slovenian | so Soomaali Somali | [es en español Spanish | su Sundanis Sundanese | sw Kiswahili Swahili | sv Svenska Swedish | tg Тоҷикӣ Tajik | ta தமிழ் Tamil | tt Татар Tatar | te తెలుగు Telugu | th ไทย Thai | tr Türk Turkish | tk Türkmenler Turkmen | uk Український Ukrainian | ur اردو Urdu | ug ئۇيغۇر Uyghur | uz O'zbek Uzbek | vi Tiếng Việt Vietnamese | cy Cymraeg Welsh | xh isiXhosa Xhosa | yi יידיש Yiddish | yo Yoruba Yoruba | zu Zulu Zulu ) Available in 110 languages (108 when not counting English and North Korean, as North Korean has not been translated yet Read about it here)

Translations in languages other than English are machine translated and are not yet accurate. No errors have been fixed yet as of June 23rd 2021. Please report translation errors here. Make sure to backup your correction with sources and guide me, as I don't know languages other than English well (I plan on getting a translator eventually) please cite wiktionary and other sources in your report. Failing to do so will result in a rejection of the correction being published.

Note: due to limitations with GitHub's interpretation of markdown (and pretty much every other web-based interpretation of markdown) clicking these links will redirect you to a separate file on a separate page that isn't my GitHub profile page. You will be redirected to the seanpm2001/seanpm2001 repository, where the README is hosted.

Translations are done with Google Translate due to limited or no support for the languages I need in other translation services like DeepL and Bing Translate. I am working on finding an alternative. For some reason, the formatting (links, dividers, bolding, italics, etc.) is messed up in various translations. It is tedious to fix, and I do not know how to fix these issues in languages with non-latin characters, and right to left languages (like Arabic) extra help is needed in fixing these issues


Index

00.0 - Title

00.1 - Subtitle

00.2 - Read this article in a different language

00.3 - Index

01.0 - About

02.0 - Alternatives

03.0 - Samples

03.1 - Python Samples

03.1.1 - Hello World in Python

03.2 - C Samples

03.2.1 - Hello World in C

03.2.2 - Long keyword in C

03.3 - C++ Samples

03.3.1 - Hello World in C++

03.3.2 - Exception Handling in C Plus Plus

04.0 - Contributing

05.0 - Contributors

06.0 - Wiki

07.0 - Sponsor info

08.0 - Version history

09.0 - Software status

10.0 - Issues

10.1 - Current issues

10.2 - Past issues

10.3 - Active pull requests

11.0 - Resources

12.0 - History

13.0 - Punch card support

14.0 - Mod projects

15.0 - About README

16.0 - File history

17.0 - Footer

17.9 - EOF


About

See above.

This is the place on SNU where programs can be tested online, and programmed online, with any programming language, markup language, etc.

Every language is also separated into its own repository, via an IDE (Integrated Development Environment) which is an environment with tools that helps you program in each language.

View the organization here

This project is still in early development, and is part of the SNU project

Alternatives

Some alternatives to online programming include:

TIO (Try it Online)

Codeskulptor (Python only)

Python 2.x

Python 3.x

Repl.it - Online programming IDE in 50+ languages

Samples

Python Samples

Hello World in Python

print('Hello, world!')

C samples

Hello World in C

#include <stdio.h>

int main(void)
{
    printf("hello, world\n");
}

Long keyword in C

long some_function();
/* int */ other_function();

/* int */ calling_function()
{
    long test1;
    register /* int */ test2;

    test1 = some_function();
    if (test1 > 0)
          test2 = 0;
    else
          test2 = other_function();
    return test2;
}

C Plus Plus samples

Hello World in C Plus Plus

#include <iostream>

int main()
{
    std::cout << "Hello, world!\n";
}

Exception Handling in C Plus Plus

#include <iostream>
#include <vector>
#include <stdexcept>

int main() {
    try {
        std::vector<int> vec{3, 4, 3, 1};
        int i{vec.at(4)}; // Throws an exception, std::out_of_range (indexing for vec is from 0-3 not 1-4)
    }
    // An exception handler, catches std::out_of_range, which is thrown by vec.at(4)
    catch (std::out_of_range &e) {
        std::cerr << "Accessing a non-existent element: " << e.what() << '\n';
    }
    // To catch any other standard library exceptions (they derive from std::exception)
    catch (std::exception &e) {
        std::cerr << "Exception thrown: " << e.what() << '\n';
    }
    // Catch any unrecognised exceptions (i.e. those which don't derive from std::exception)
    catch (...) {
        std::cerr << "Some fatal error\n";
    }
}

Contributing

Do you want to contribute to this project?

Click/tap here to read contribution instructions


Contributers

Currently, I am the only contributer.

    1. seanpm2001 - 2174+ commits (As of Wednesday, June 23rd 2021 at 3:53 pm)
    1. No other contributers at the moment
    1. Contributer slot 3
    1. Contributer slot 4
    1. Contributer slot 5
    1. Contributer slot 6
    1. Contributer slot 7
    1. Contributer slot 8
    1. Contributer slot 9
    1. Contributer slot 10

Wiki

Click/tap here to view this projects Wiki

If the project has been forked, the Wiki was likely removed. Luckily, I include an embedded version. You can view it here.


Sponsor info

SponsorButton.png

You can sponsor this project if you like, but please specify what you want to donate to. See the funds you can donate to here

You can view other sponsor info here

Try it out! The sponsor button is right up next to the watch/unwatch button.


Version history

Version history currently unavailable

No other versions listed


Software status

All of my works are free some restrictions. DRM (Digital Restrictions Management) is not present in any of my works.

DRM-free_label.en.svg

This sticker is supported by the Free Software Foundation. I never intend to include DRM in my works.

I am using the abbreviation "Digital Restrictions Management" instead of the more known "Digital Rights Management" as the common way of addressing it is false, there are no rights with DRM. The spelling "Digital Restrictions Management" is more accurate, and is supported by Richard M. Stallman (RMS) and the Free Software Foundation (FSF)

This section is used to raise awareness for the problems with DRM, and also to protest it. DRM is defective by design and is a major threat to all computer users and software freedom.

Image credit: defectivebydesign.org/drm-free/...


Issues

Current issues

  • None at the moment

  • No other current issues

If the repository has been forked, issues likely have been removed. Luckily I keep an archive of certain images here

Read the privacy policy on issue archival here

TL;DR

I archive my own issues. Your issue won't be archived unless you request it to be archived.

Past issues

  • None at the moment

  • No other past issues

If the repository has been forked, issues likely have been removed. Luckily I keep an archive of certain images here

Read the privacy policy on issue archival here

TL;DR

I archive my own issues. Your issue won't be archived unless you request it to be archived.

Past pull requests

  • None at the moment

  • No other past pull requests

If the repository has been forked, issues likely have been removed. Luckily I keep an archive of certain images here

Read the privacy policy on issue archival here

TL;DR

I archive my own issues. Your issue won't be archived unless you request it to be archived.

Active pull requests

  • None at the moment

  • No other active pull requests

If the repository has been forked, issues likely have been removed. Luckily I keep an archive of certain images here

Read the privacy policy on issue archival here

TL;DR

I archive my own issues. Your issue won't be archived unless you request it to be archived.


Resources

Here are some other resources for this project:

Project language file

Join the discussion on GitHub

No other resources at the moment.


History

SNU Programming Tools started out as the programming module for the website SNU that seanpm2001 started developing in 2018. This part didn't get created until 2020, when development went from Google Sites to self-hosted, and later to GitHub + Self hosting.


Punch card support

This project has special support for classic programming language, and supports a virtual punch card format for languages like ALGOL, FORTRAN, and Assembly (early, pre-1970 versions) These punchcards are designed to emulate the experience of punchcard programming without having physical punch cards. This feature is still under development.


Mod projects

Mod projects are separate projects included within the SNU Programming Tools set before the project was fully set on programming. They are still supported, and are planned to have continued support. Mods give support for software pieces, emulating sites like GitHub, and more.


About README

File type: Markdown (*.md)

File version: 3 (Wednesday, June 23rd 2021 at 3:53 pm)

Line count: 0,520


File history

Version 1 (Sunday, June 7th 2020 at 3:19 pm)

Changes:

  • Started the README.md file
  • Added the title section
  • Added the about section
  • Added the Wiki section
  • Added the version history section
  • Added the contributors section
  • Added the about README section
  • Added the footer
  • No other changes in version 1

Version 2 (Monday, June 8th 2020 at 3:14 pm)

Changes:

  • Updated all dividers (changed --- to ***)
  • Added the contributing section
  • Updated the file info section
  • No other changes in version 2

Version 3 (Wednesday, June 23rd 2021 at 3:53 pm)

Changes:

  • Updated the title section
  • Added a logo
  • Added the switch languages section
  • Added the index
  • Updated the about section
  • Added the alternatives section
  • Added the samples section
  • Added 1 Python sample
  • Added 2 C samples
  • Added 2 C++ samples
  • Updated the contributors section
  • Updated the contributing section
  • Updated the Wiki section
  • Added the Sponsor info section
  • Added the software status section
  • Added the issues section
  • Added the pull requests section
  • Added the resourses section
  • Added the history section
  • Added the punch card support section
  • Added the mods section
  • Updated the file info section
  • Added the file history section
  • Updated the footer
  • No other changes in version 3

Version 4 (Coming soon)

Changes:

  • Coming soon
  • No other changes in version 4

Version 5 (Coming soon)

Changes:

  • Coming soon
  • No other changes in version 5

Version 6 (Coming soon)

Changes:

  • Coming soon
  • No other changes in version 6

Footer

You have reached the end of this file.

{ Back to top | Return to GitHub )

EOF


Contributors ✨

Thanks goes to these wonderful people (emoji key):


Sean P. Myrick V19.1.7.2

💻 📖 📆 🛡️ 🔣 🖋 🎨 🚧 🤔

All Contributors

📖

This project follows the all-contributors specification. Contributions of any kind welcome!