[Implementation]+[Maintenance] L. IDE

Due to the fact that this project will be a long-term project, I integrated two parts in an article (implementation + maintenance).

Whenever I make a huge change on the software, I will write the updates/implementation here.

Users can find developed/updated softwares (L. IDE) in downloads page of this site.

—————————————-First Update: April 20th————————————–

L. IDE (Light IDE)

L. IDE (Light IDE)

Python was used in developing “L. IDE.”

Wxpython package, which is a third-party product, was used to do GUI stuff.

The whole class inherits wx.Frame.

Using wx.Frame.init(…) command, the general frame that holds each and every aspect of the GUI was built.

Then, the status bar, which does nothing for now, was added and Menu bar was added.

On the menu bar, four menus are added: About, Save, Open,  and Exit.

For each buttons, appropriate logics were added to make the program perform properly. For example, when something is written and a user tries to close the L. IDE, it asks the user whether he/she wants to save his/her work.

As you can see, only basic aspects were implemented and according to the requirement article, more aspects such as Java compiling functionality will be added.

—————————————-Second Update: May 8th————————————–

L. IDE (Light Integrated Development Environment)

L. IDE (Light Integrated Development Environment)

As planned, a functionality to compile and run Java sources/classes is added.

Compiling Java works really well; it was implemented using ‘popen2’ module by sending commands to DOS (javac FileDirectory).

However, running Java has some problem; there are some bugs to be fixed in later updates. It was implemented using ‘popen2’ module by sending “java FileName” command to DOS.

In future updates, functionalities for syntax coloring and executing Python files will be added.

—————————————-Third Update: May 29th————————————–

L. IDE (Light Integrated Development Environment) V. 3

L. IDE (Light Integrated Development Environment) V. 3

The most eye-catching change is the addition of Log/Output screen and the functionality to run Python.

For most actions such as Open, Save, Compile and Run, the log is written on the Log/Output screen.

Also, Python is run by the DOS command (python + file directory).

Syntax coloring implementation is tried and is on the process, but might take more time as the algorithm/technique is challenging.

On the next update, I will try to fix any bugs and increase the convenience for users.

—————————————-Fourth Update: June 5th————————————–

screenshot of L.IDE V4

screenshot of L.IDE V4

  • Syntax coloring for both Java and Python is added (recursive algorithm is implemented to separate the keywords of the languages)
  • “Java Reserved Words.lide”/”Python Reserved Words.lide” files contain the keywords
  • The syntax coloring is automatically disabled for huge files to prevent lags. On next releases, better algorithm will be used to make the coloring work for huge files.

Please suggest me any idea (yojo1000@gmail.com) that can improve L. IDE if there is one.

[Requirement] L. IDE

Hello, I am software developer Wonjohn Choi

This time, I am going to make an IDE – Integrated development environment.

There is something special about this project compared to the previous ones

  1. The programming language “Python” will be used instead of “Java” that has been used.
  2. This project will be longer than one month project: I am planning to work on this project to a higher level. I won’t stop on a basic achievement.
Here is the specific information.
  • Requirement:

  1. First Level: A simple editor in which users can save, open, write,  and etc.
  2. Second Level: A functionality that compiles Java source codes written in the text field in order to produce .class file.
  3. Third Level: A functionality that runs the produced .class file and outputs the result.
  4. Fourth Level: A functionality that runs Python source codes and outputs the result.
  5. Fifth Level: Undecided, but will be.
  • Project Manager/Leader: Wonjohn Choi
  • Designer: Wonjohn Choi
  • Programmer: Wonjohn Choi
  • QA (Quality assurance): Wonjohn Choi
  • Programming Language: Python