Hallo,
Everybody, who develop biger project in some of todays programing language, meet with severity of writing code to text file. Listing in text file is slow and blind. Text based source code is obsolote. We need more inteligent IDE which could provide more eficient managment of source code. Better way to write algorithm.
What is your opinion?
Comments
: Everybody, who develop biger project in some of todays programing language, meet with severity of writing code to text file. Listing in text file is slow and blind. Text based source code is obsolote. We need more inteligent IDE which could provide more eficient managment of source code. Better way to write algorithm.
:
: What is your opinion?
:
Maybe you should try Creation it's Free Programming Language distributed with LUNIX, not Linux or other.
This LUNIX is free and it's under JPL(Junior Public License)
It saves the code in regular filesor in files with extension of your choice.
But you must have LUNIX on your computer to work, i have and i can say it's much faster than any OS that i used.
The Only way to use it on Windows(Any Windows version) is to download an emulator which is also free but its 315 megs on ftp.lunix.com.
That's a secured FTP with access only for Junior Members.
But you can access it as a guest.
: Everybody, who develop biger project in some of todays programing language, meet with severity of writing code to text file. Listing in text file is slow and blind. Text based source code is obsolote. We need more inteligent IDE which could provide more eficient managment of source code. Better way to write algorithm.
:
: What is your opinion?
:
Why do you think it is obsolete?
Source code is text. What more appropriate way can there be to store it than in a textfile? I'd never want my code as a *.doc file if that's what you mean.
Text files are very easy to manage. They can be edited in a text editor very easily. You don't need a special IDE or anything.
Personally, I'd hate to see anything not atleast have the option to save code to textfiles.
Well, look at text files. Text files was wery efective way to store document but for a now Do we store documents in simple text files? No, we have meny posibillities to store it to advanced files like doc,rtf,pdf,... Why??? Because this types of files offer to us many more possibilities like paragraphs,font size,colour,style,type;we can use more fonts in our document,use image,vector graphic, we can subdivide document to logical sections and much more. Do we stay only with basic text files?
What is basic/simple/native/general text file? This is sequence of bytes where each means char. But char in some charset! What charset? Charset what IBM create a stepwise standartize. But this charset with 256 combinations not support other languages. What about Japan language?
This problem were later solved by developing UNICODE but it is only "some" charset again. We need to support particular charsets. Everything should by "open".
But the mainly topics are editing, managing, converting, displaing algorithm. Support for many languages(this means possible translating words like if-then-else, for-to-do, repeat, begin-end, ShowMessage, Application to other language), posible different output as necessary(exporting source code for example to text, rtf type, pdf, html, postscript documents), customizable edit interface (simple, detailed, for experert, for newbie), advanced comments(you can show and hide as necessary), well-aranged structure(program tree,function tree,types tree, module dependencies,version list),and many more :-)
There are many inventions what I would want to write here but it is more difficult to me write it in english. If you are intrested in this I will try to write it.
I see that text based soource code editors are favourite but I know that there are many things what we can improve...
I think there are programs to parse code into different sections.
The asian characters thing is more interesting. There are a lot of people who are forced to learn English to program. It would be nice to have more freedom. I'm English but I know a lot of people would appreciate an asian programming language compiler with a set of unique syntax. It's never been done before as far as I know. I don't know anything other than English though so I wouldn't be able to make it. Maybe this could be done with unicode or some varient of it. I want to make a unique compiler sometime but I have no idea how to make a programming language best for an asian market.
The main thing with textfiles is simplicity. There are code editors that display syntax formatted code(bold, italic, links...). Also programs to output formatted code to html, rtf, doc... The biggest drawback to using another format would probably be the specialized programs people would need to manage the files.
So...
native text source code = posible syntactic mistakes
This is one of the reason! :-)
Next I should tell one think yet. It relate with simple text documents. You written:
"The main thing with textfiles is simplicity. There are code editors that display syntax formatted code(bold, italic, links...). Also programs to output formatted code to html, rtf, doc... The biggest drawback to using another format would probably be the specialized programs people would need to manage the files."
What about XML? People most ofen tell: "XML documents is very simple to read, edit, create. XML is platform independent and universal."
I agree, but it isnt reason to use simple text documents. This arise from substance of humanity. We have to divide two things:
1) How computer work with information
2) How human work with information
ad 1) Computer is machine to process input data to output data. It is placed on executing instruction which work with data. But everything is only binary data. Particular computer combine 8 bits to byte and bytes to complex sturctures like words,longwords, integers, fpu have floating point datas. It depend on concrete machine. But what about string? Computer dont know any strings. It is only sequence or array of something(bytes,two bytes,or something another). So why we force on so many text data to process it. Computer dont understand our words. He needs to translate words to his native binary format and after this transformation computer know what can he do. So every data what we entry to computer should translate to computer native format and if the same data we need get back, date will be translated from binary to our understandable format.
2) We dont understand binary data so we need transform it. Humat comunicate with computer by kayboard, mouse, monitor, printer...
So everything what you can see at monitor shoul by only transformed binary data to human native format(like text compound from words, graphic combined from points,lines,boxies,circles in many colors.
But XML claims something else. It claims that data should be stored in text files in our human language(why english :-). It is not efficient way to store data, it have redundancy. But why they tell whis? Because of history. Earlier computers were very simple and not powerfull. Nobody can afford to use abstract programs. But todays we have very powerfull computers and we can affrod whatever(almost :-). So next step is abstraction. Independence of concrete machine. Structures like are used in XML can be stored efficient in binary files too. They are telling that text files can be displayed on every computer. Maybe, but binary XML perhaps not??? Indeed yes! It is only historical advantage of text files that it have viewer and editor everywhere. But it is always question of implementing viewer and editor for any format. If format is "open" it will no have a problem with implementing viewer and editor for particular computers.
Eventually I must tell, maintain storing to simple text data is like returning back in time...
I wrote lot but maybe not narrowly how i want. I am sorry for my keying and gramatical mistakes too.(I wasnt read this text after I wrote it :-)
With QBasic4 and I'm pretty sure Visual Basic, it formats the line of text you type in every time you press enter. It changes the case of letters and other things to make it look more neat. I'm not sure if it corrects syntax errors though.
I've told you all the reasons I can think of for staying with textfiles but you've basically invalidated them all.
You are right about the important thing being how people see the data. It doesn't really matter how complex the data is for the computer. The fast computers of today could easily manage the added complexity of another file format. It would just need programs(ie. editors, IDE's) to work with the format.
rubs chin, thinking
If you want to get your idea working, you won't need to make a compiler or your own language. You can start by making a code editor or an IDE that works with your file format for an existing language(ie. Basic,c,c++...). Since there are no compilers that would compile that format for now, you just need to export to textfiles for that process. (export to textfiles and get a compiler to create the program file)
That could let you have those restrictions from syntax errors, make your format, test it all out to see if there are any problems or see if it is a really good idea. If it becomes popullar, other people and maybe businesses will start using it.
If anything makes a job easier, it is all good.
PS: Don't let Microsoft steal the idea from you.
I agree with you than more important is divide my idea to parts. Dificult problem can be separated to simple problems. I am doing these a little. But it is hart for me. I cant do better IDE for languages which isnt suited for it. I have some ideas about new language too. I have abstraction on my mind mainly. I dont know language which is suited enough.
I will notice to this forum as soon as I will have some first release :-)
I have question. You wrote that you are English. I am interesting how you are looking to state of internet where majority used language is english. It have to be interesting from my view. I come from Czech republic and we have to translate our web pages to english mostly if we want to more "international". We have to learn other languages. Mostly english and German. But which languages are you learning at schools in yours country? Maybe French and German? I think you have simpler life in internet :-) This thinking leads to muse in universal language...
About the IDE that would be able to hide and then show structures and comments, it is possible, microsoft .NET IDE has it, I think C++BuilderX also. Even a general purpose note pade from KDE has it (KWrite & Kate). And all those editors use textfiles (maybe except .NET).
Code in database like file?, not a problem, it exists already, PowerBuilder has it. PowerDynamo (a web server) goes even fother, it has the entire web site in a database.
XML is a great invention, the best non-relational data storage method since INI files. Ofcourse, since it is in text format, there a two basic ways to handle them:
- Directly on a file (if it is possible, but I can't image that code)
- Tranlate the text file into data structures stored in memory
Since I don't think someone whould try the first method I will talk about the other.
I already used XML to store some data in it. It is a great method, much beter than any other config file I saw. But it have a great problem, Imagine the memory usage for a 1MB XML file, and imagine that you need to load a few of them.
When I was making my first compiler I used a database aproach, it was easyer to parse only the code of a function than code + all declarations of functions, data and structures. I must say that if was fun, but I'm not a good enoth GUI programmer to make a good IDE with suyntax highlighting so I've stoped the project.
Some times ago I wanted to make a strange interpreter that could be used for some diferant uses like for www. It should be executed asynchronusly on diferant machines to not use the entire PC's ressources.
The language was not important form me, I prefered to make the interpreter, so I've decided to use XML for example:
[code]
ThreadCode
CTHREAD_NO_DELAY
$ht
$ht
[/code]
You said about translating a programming language to an other language? So now imaging how many help files you would need. A simple internet tutorial would need to be translated to each variant. There is only one language that is translated like that (I think), it is MS Excel's code. For example:
[code]
In english:
IF, COUNT, ..
In polish
JEŚLI, SUMA, ....
[/code]
And it is made like this for users that only know one language.
If this days, one language is not enoth. I know my native language Polish, and foreing French and English. I was also learing Spanish and German (not counting Latin).
In poland all high schools teach AT LEAST one foreing language, witch is mostly English, but also German, French, Spanish, Italian and Russian.
When you learn a programing language, it is like learning a real language, except you don't talk that language.
So what I propose to you is:
- Learn english,german or french, most programming sites are in those languages
- Continue the work on a new source code file format (who knows, maybe one day we will all use it?)
- If you still have problems with internet pages in other languages, write a good translator