Changes between Version 11 and Version 12 of GSoC2010
- Timestamp:
- 03/05/10 15:58:38 (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GSoC2010
v11 v12 16 16 == Project Ideas == 17 17 18 === PyLemonModule ===18 === `PyLemon` Module === 19 19 mentor: Alpár Jüttner 20 20 21 21 ==== Background ==== 22 22 23 LEMON was written in C++ language, because this is tho only widely used programming language nowadays, which gives us opportunity for optimizing run time and memory usage of complex data-structures and algorithms. However C++ is a rather complex language which require deep knowledge of programming, and it's usage is many times complicated. The implementation of a task can be much simpler in some modern (usually interpreted and dynamically linked) languages. Python is a prominent member of these languages, which besides that it can be very easily learned, exceedingly appropriate for quickly writing easily maintainable (?) codes. Python is also a highly extensible language, which allows programmers to create their own modules in C or C++.23 LEMON was written in C++, because this is the only widely used programming language that makes is possible to optimize the running time and memory usage of complex data-structures and algorithms to the extreme. However C++ is a rather complex language, which require deep knowledge of programming, and it's usage is many times complicated. Experimenting with and idea and prototyping solution can be much simpler in modern interpreted and dynamically linked languages. Python is a prominent member of these languages, being easy-to-learn, versatile and extremely productive. Python is also a highly extensible language, which allows programmers to create their own modules in C or C++. 24 24 25 25 ==== The Task ==== 26 26 27 Our goal is to create module which enables Python users to access LEMON services. The main idea is to use the effective data-structures and methods of LEMON (implemented in C++) to store graphs and maps, and to run algorithms, while creating a user friendly interface fitting toPython.27 The goal is to create a Python interface module to LEMON's data structures and algorithms (written in C++), thus combine the high efficiency of LEMON with the flexibility of Python. 28 28 29 29 You can find the pre-alpha version of this project in our repository: [http://lime.cs.elte.hu/~alpar/hg/pylemon/] … … 38 38 ==== Benefits of participating ==== 39 39 40 By taking part in this project, you can highly improve both your C++ and Python skills. You will also have a good exercise of working with complex C++ objects and creating Python extensions.40 By taking part in this project, you can highly improve both your C++ and Python skills. In addition, understanding LEMON is a good opportunity to learn more about network modeling, graph algorithms and combinatorial optimization.