[SoC] SOC: New IDEs

Juraj Kubelka KubelkJ at fel.cvut.cz
Tue Mar 20 23:01:52 UTC 2007


Hi,

I have tried to write a description of the project I have send  
before. What do you think about it? Thank you for our feedback.

Best regards,
Juraj

--
Juraj Kubelka

=====================================================================
+ Title/Summary: New Squeak IDE System Browser and Inspector
+ Organization: Squeak
+ Link to Further Information:

***** Abstract (2500 character limit, text only, no HTML)
The Abstract of an accepted student application is displayed on the
public GSoC web site.  Please do not include personal information.

    The aim of the project is to improve current IDE tools for
supporting user defined refactoring and code transformation.  The IDE
tools will more complex support user's daily work like creation of
common methods and ordinary repairs.  Refactoring is an important
part of the programming and rich and easy to use functions of IDE
tools improves quality of applications.

    The IDE tools will also support Traits.  Traits are really
interesting thing how to reuse source code and their support in the
IDE tools will help to adopt such techniques by programmers.  And in
the end the IDE tools will also support teaching Traits.


***** Detailed Description (7500 character limit, text only, no HTML)
The Detailed Description of a student application is visible only to
mentors and will not be displayed on the public GSoC web site.

    This project will extend the current IDEs in order to allow fast
coding, support Traits and have a rich graphic features to show user
type of class or method.  Set of new IDEs will contains a System
Browser and an Inspector.

    System Browser will have full support of Traits.  It will support
user defined actions and displaying of class and methods.  It will
have nice effects like: "I am a GUI class.  If you double click on
me, I will open myself.  From context menu you can open GUI Painter."
or "I am changed class/method against last revision.", and so on.  It
will be possible to display inherited methods, category which method
belong to, hierarchy structure, category structure.  Also tabs known
from Firefox application should be implemented.  Standard refactoring
functions, getters, setters, Shout technology, code completion should
be implemented. And lots of other useful functions like move
method/variable from class side to instance side, display where a
variable is used, a tool for method renaming, automatic method
category assignment, and so on.

    Inspector will have OmniBrowser like structure so it will be
possible to quickly examine structure of inspected object.  Inspector
will have workspace for commands execution and method list of
currently inspected object.  Inspector will support fast browsing
through object references.  It will have support for removing and
adding new instances to collections.

    Why I should get this job? I am a PhD student at Czech Technical
University in Prague.  I am interested in object oriented development
and Smalltalk is really good language for such thinking.  This
project is good challenge to improve myself in Squeak and the
improvements are necessary to spread about Squeak at school, in the
Czech Republic.  But the main reason why I should get this project is
we would like create really good application for teaching data
modelling (with new way how to think and use such type of
applications) in Squeak.  But I have to learn Squeak before.  Frankly
speaking I need money so if I get this job, I will be able to learn
Squeak (and Smalltalk) much deeply during the summer rather then with
an unwanted job.

=====================================================================

On 19.3.2007, at 15:01, stephane ducasse wrote:

> dualBrowser on squeaksource.com
>
> else it would be good to support traits.
> Have a look at the trait browser. I have an image that i could give  
> with an old implementation of a first trait browser
>
> Stef
>
> On 19 mars 07, at 12:30, Juraj Kubelka wrote:
>
>> Hello,
>>
>> here is my draft what I want to have in IDE (System Browser):
>>
>> Unstructured notes:
>>  - list of variables (below list of methods)
>>  - highlight methods which use selected variables
>>    + highlight variables which are used in selected methods
>>  - want to see inherited methods (variables) and from whom
>>  - move methods (variables) from/to class side
>>  - creation of getters, setters, and other methods from menu
>>    + possible to define general template (useful for Magritte...)
>>  - automatic category assignment for methods
>>    + want to see method's category
>>  - method rename: dialog with list of possible renames (user can  
>> accept all or just subset)
>>  - mark abstract classes.
>>    + list of methods user have to implement
>>  - mark GUI applications
>>    + double click on such class in browser opens GUI application
>>    + double click on "GUI method" opens GUI painter (e.g. Easy  
>> Morphic GUI)
>>  - tabs like in Firefox, so user can have more browsers in one window
>>  - changed categories/classes/methods against last revision  
>> (integration with Monticello)
>>  - refactoring, completing, colored source code
>>
>>
>> So I think it is possible to define:
>> 1. general rule how to say what methods are necessary to implement  
>> (from abstract class, traits, required by Magritte, ...).
>>
>> 2. general rule for attributes like: it is abstract class, it is  
>> GUI application, it is changed against last revision, ...
>>    - and define actions on double click, special context menu  
>> items, icon or color of (class, method) name
>>
>>
>> What do you think? Thanks for your feedback.
>>
>> Jura
>>
>> PS: I cannot find dualBrowser. Can you help me? Thank you.
>>
>>
>>
>> Something about me:
>>
>> I am student at CTU in Prague [1]. I research object oriented  
>> methodologies. ... I don't know what to say... I haven't much  
>> experiences in Smalltalk/Squeak but I think I am able to learn it.  
>> I know something about object oriented programming and I have been  
>> playing with Smalltalk at least since ESUG in Prague (September  
>> 2006). Something else???
>>
>> [1] http://www.feld.cvut.cz/en/
>>
>> On 17.3.2007, at 16:00, Giovanni Corriga wrote:
>>
>>> Il giorno ven, 16/03/2007 alle 15.42 +0100, Juraj Kubelka ha  
>>> scritto:
>>>> Hello,
>>>>
>>>> I'm a PhD student at Czech Technical University in Prague. I would
>>>> like to apply for job in Google Summer of Code. The interesting  
>>>> ideas
>>>> for me are "New IDEs" and "Reimplement IDE Tools in s Structured  
>>>> Way".
>>>>
>>>> I have an idea how IDEs should look like and what should offer to
>>>> programmers (combination of Smalltalk/X IDEs and VisualWorks and
>>>> something more). As I have found this project I think it is good
>>>> change to do it in cooperation with mentors (and earn something).
>>>>
>>>> So is it possible to think about me?
>>>> I can write my ideas about better IDE (especially System Browser  
>>>> and
>>>> Inspector).
>>>> Thank you in advance.
>>>
>>> Hi Juraj,
>>>
>>> feel free to send your proposal! You can send it directly through  
>>> the
>>> Summer of Code Web App, or you can send it here first so that we can
>>> start giving you some feedback before you submit it.
>>>
>>> 	Ciao,
>>>
>>> 		Giovanni
>>>
>>
>>
>



More information about the Soc mailing list