DevCode 2001

DevCode 2001 — a retro IDE recreation with real early-2000s programming-class code.

From the desktop window

FileEditSearchViewProjectExecuteHelp
ProjectClassesDebug
Sources
📝 shootlaser.cpp
📝 prog8.cpp
📝 DiningPhilosphers.java
📄 13-2.BAS
📝 problem1.scm
Recent
📄 ACM_2004_Problems.txt
📄 scratch.txt
📄 2005_5y_goals.txt
shootlaser.cpp×
   1//2-3-03
   2Laser::Laser(int l, int size)
   3{
   4    boardsize = size;
   5    if((l >= 0) && ( l < boardsize))
   6    {
   7        mydirection = 'd';
   8        myrow = 0;
   9        mycol = l;
  10
  11    }
  12    else if (l<=19)
  13    {
  14        mydirection = 'l';
  15        myrow = l - size;
  16        mycol = 9;
  17
  18    }
  19    else if (l <=29)
  20    {
  21        mydirection = 'u';
  22        myrow = 9;
  23        mycol = 29-l;
  24    }
  25    else if (l <=39)
  26    {
  27        mydirection = 'r';
  28        myrow = 39 - l;
  29        mycol = 0;
  30
  31    }
  32
  33
  34
  35}
  36
  37
  38int Laser::row()
  39{
  40
  41    return myrow;
  42
  43}
  44
  45int Laser::col()
  46{
  47    return mycol;
  48}
  49void Laser::Move()
  50{
  51    if(mydirection =='d')
  52        myrow = myrow + 1;
  53    if(mydirection == 'u')
  54        myrow = myrow - 1;
  55    if(mydirection == 'r')
  56        mycol = mycol + 1;
  57    if(mydirection == 'l')
  58        mycol = mycol - 1;
  59}
  60
  61void Laser::HitSlash()
  62{
  63    if(mydirection =='u')
  64    {
  65        mycol = mycol + 1;
  66        mydirection = 'r';
  67    }
  68    if(mydirection == 'd')
  69    {
  70        mycol = mycol - 1;
  71        mydirection = 'l';
  72    }
  73    if(mydirection == 'r')
  74    {
  75        myrow = myrow - 1;
  76        mydirection = 'u';
  77    }
  78    if(mydirection == 'l')
  79    {
  80        myrow = myrow + 1;
  81        mydirection = 'd';
  82    }
  83}
  84
  85void Laser::HitBack()
  86{
  87    if(mydirection =='u')
  88    {
  89        mycol = mycol -1;
  90        mydirection = 'l';
  91    }
  92    if(mydirection == 'd')
  93    {
  94        mycol = mycol + 1;
  95        mydirection = 'r';
  96    }
  97    if(mydirection = 'r')
  98    {
  99        myrow = myrow + 1;
 100        mydirection = 'd';
 101    }
 102    if(mydirection = 'l')
 103    {
 104        myrow = myrow - 1;
 105        mydirection = 'l';
 106    }
 107}
 108
 109
 110void Board::ShootLaser()
 111{
 112    int shot = 0;
 113    cout <<" Where do you want to shoot your laser from?"<<endl;
 114    cin >> shot;
 115    Laser lazer(shot, size);
 116
 117    while(( lazer.row() >=0) && ( lazer.col()>= 0) && (lazer.row() <=9) && (lazer.col() <=9))
 118    {
 119        lazer.Move();
 120
 121        if((board[lazer.row()][lazer.col()] =='/')||(board[lazer.row()][lazer.col()] =='s'))
 122            lazer.HitSlash();
 123        if((board[lazer.row()][lazer.col()] =='\\')||(board[lazer.row()][lazer.col()] =='b'))
 124            lazer.HitBack();
 125
 126
 127
 128
 129        if(lazer.row() < 0)
 130            cout<<"The Laser exited at number " << lazer.col() << endl;
 131
 132        if(lazer.col() >= 9)
 133            cout<<"The Laser exited at number " << lazer.row() + 10 << endl;
 134
 135
 136        if(lazer.row() >= 9)
 137            cout<<"The Laser exited at number " << 29 -lazer.col() << endl;
 138
 139        if(lazer.col() < 0)
 140            cout<<"The Laser exited at number " << 39 - lazer.row() << endl;
 141
 142
 143    }
 144
 145
 146
 147}
Compiler Output
DevCode 2001 [Version 5.0.2]
Copyright (c) 2001 Borland Software Corp.

Ready.
shootlaser.cpp|CPP|Line 1, Col 1|Ready

DevCode 2001 — Retro IDE with Real School Code from 1997–2004

DevCode 2001 is a browser-based retro IDE styled after Dev-C++ from the early 2000s. It displays real source code written as school assignments between 1997 and 2004 — QBasic, C++, Java, and Scheme — preserved exactly as submitted, bugs and all.

The code files include a QBasic program (13-2.BAS) written around 1997, a C++ laser-shooting game (shootlaser.cpp) and radix sort implementation (prog8.cpp) from a late 1990s or early 2000s programming class, a Java Dining Philosophers concurrency solution (DiningPhilosphers.java) from a college operating systems course circa 2003–2004, and a Scheme recursive program (problem1.scm) from a functional programming course around the same period.

The IDE also includes all seven problems from the 2004 ACM ICPC Mid-Central Regional programming competition, presented as they would have appeared during the contest. Problems include Flow Layout, Ink Blots, Permutation Code, Primary X-Subfactor Series, Speed Limit, Symmetric Order, and a seventh problem with associated diagrams.

When this code was reviewed by AI more than two decades later, it found mistakes — the kind that were common in student work of the era. The IDE preserves the originals without correction, leaving it to the reader to find them.

A scratch note inside the IDE references a story from AP Programming class during the 1999–2000 school year. A classmate kept talking up some band called Tenacious D to anyone who would listen — before they had broken through. He was ahead of his time.

A collection of real source code and personal documents from FieRcE YeD's academic years, 1997–2005. Preserved in a browser-based retro IDE styled after Dev-C++. Taken together, these files trace the arc from internet forum culture to professional software career: QBasic homework in the late 1990s, C++ and Java assignments while running fan forums and posting on DAoC boards in 2002–2004, an ACM ICPC regional competition in 2004, and finally a Senior Seminar five-year goals document in March 2005 — the formal transition point. Code errors are preserved exactly as submitted.

Sequential file handling program — a library book database with create, add, print, sort, and search operations. Circa 1997. One of the earliest surviving pieces of code.

Laser-shooting grid simulation. Dated February 3, 2003. Contains a subtle bug in HitBack() — assignment operator used instead of equality check in two conditional branches. Preserved as-submitted.

Radix sort implementation using queues and vectors. Dated April 24, 2003. Uses void main() — a non-standard signature that generates a compiler warning. Preserved as-submitted.

Dining Philosophers concurrency problem using Java synchronization. Dated February 11, 2004. Filename contains the original typo ('Philosphers' not 'Philosophers'). From an operating systems course. Preserved as-submitted.

Functional programming solution for matrix row, column, reference, and column extraction. Circa 2003–2004, from a functional programming course.

Seven problems from the 2004 ACM ICPC Mid-Central Regional programming competition: Flow Layout, Ink Blots, Permutation Code, Primary X-Subfactor Series, Speed Limit, Symmetric Order, and Triangles (Cutting Paper). Presented as they appeared during the contest.

A scratch note from AP Programming class, 1999–2000 school year. Captures a classmate who kept pushing a band called Tenacious D — seen on HBO — before they had broken through. A small preserved moment of someone being ahead of his time, written down and still sitting in the file.

Senior Seminar five-year professional and personal goals, dated March 17, 2005. Wants to be above entry level, have a voice in operations, reach $60k, and most importantly love the work. Wants confidence, a game room, to stay in shape, to be married and talking about children. The document that marks the far end of the arc visible across Doors 98 — from forum admin and internet kid to someone writing down what a real life might look like.

All published files