Jump to content

Making my own IDE

- - - - -

  • Please log in to reply
19 replies to this topic

#1
AdvMutant

AdvMutant

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 438 posts
Hey guys.
Good news - I started planning my first serious project! It's gonna have a website, a progress bar and all that stuff, just to make it look professional.

Well - the thing is, that I'm learning C - and it's going VERY well. I usually prefer spending time gaming, but once I decide to program I can't stop. Can't describe the awesome feeling I get after my code works the way I want! My original plan was to finish with C(reading "Sam's teach yourself C/Advanced C in 21 days"), advance to C++, and learn Assembler. After I'm done with it, I'm ready for everything that involves programming.

Recently, I just got tired of TC 3.0, so I'm gonna tweak my plan a little. I'm gonna read till day 21, and take a small break with it. I'm gonna temporary switch to C++, so I can build a better IDE for me to work with. I want it to look like MicroASM(still need it's download! PM if you can help!) as it's design is simply genius. The only thing I'm gonna change is that I'm gonna add a small textbox, to see the compiler's output. After it's done, I'll read the advanced C book, and continue my plan as normal. Note that I said IDE, not compiler. I'm gonna make it configurable for many different languages with .conf files. You'll be able to manually configure it's text colors in different conditions by editing and making those, and even change the compiler used. For example, if you want to use GCC - you will input it's exe location, the arguments passed to run the program, the arguments passed to compile the program, and possibly even more advanced stuff. That way, it's a pure configurable IDE - so it will be usable with every language.

So... Planning a project is kinda hard. Can you guys give me a start, and explain me a few things?

How can I color the text in my textbox? Not the whole text, say after the program encounters '/*' it colors the text green till it encounters a '*/', Or color the whole line in green, if it encounters a '//'.

What's a good free ANSII C++ IDE/Compiler other than devC++(I'm having trouble using it)?

What's good free web hosting service with no bandwidth limit, and a good free visual web designer, that works with FireFox?


Everything has to be free, because I can't, nor want, to invest any money it my project. I also don't want to download cracked developing tools(unlike other software, the only original thing on my PC is Windows XP Home) as I'm using them to create other software. It's a shame to crack these.

Thanks in advance guys, I'm gonna invest a lot of time in my project to make it as good as possible for me and for other simple-stuff-liker developers.

Posted Image
There is no problem that cannot be solved by the use of high explosives.


#2
artificial

artificial

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 624 posts

AdvMutant said:

What's a good free ANSII C++ IDE/Compiler other than devC++(I'm having trouble using it)?

Code::Blocks


I don't want to discourage you, but IMHO an IDE is too much for you. See, you just learned C and it takes some time until you're experienced enough to master such a project. I suggest that you start with something more simple (like a text editor that highlights C's syntax) and then continue sequentially.

Greets,
artificial
Sometimes words ain't enough to express something. That's why computer scientists use double words.

#3
abzero

abzero

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 217 posts
So what platform? Windows? Multi-platform?

The GUI aspects will vary depending on which platform you want. For syntax highlighting, instead of holding the text of the source code as a single block of memory, hold it as a linked list of text blocks, which each text block has a colour code. Then when you render you draw using the format specified by the block of text. This is quite simpfied but it has worked for an implementation of syntax highlighting I did a while back (Although this didn't have editing faciilities...)

Try GNU C for the compiler, also GNU Make will make the building part of your ide, so much easier. Instead of having to invoke the compiler yourself, you invoke make. Make then invokes the compiler. All you have to do then is generate the make file, which is quite easy.

#4
artificial

artificial

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 624 posts
I guess it's supposed to be for Windows. He mentioned that he wants to use .exe-files. ;)
Sometimes words ain't enough to express something. That's why computer scientists use double words.

#5
abzero

abzero

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 217 posts
good point ;)

#6
AdvMutant

AdvMutant

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 438 posts
Haha... I know it might me too much, but I've been coding with C for a bit more than half an year in total. I also have (very) small experience with VB .NET, Visual C#, and VB5. Ive been coding since I was 11 or so, but I took lots of breaks and didn't took it seriously until now. I managed it to build an incomplete snaky game, I left it after the snake could move, collect apples, grow, score, and loose if it collides itself or the walls. I build an Arcanoid game in VB5. I'm ready, but it'll be extra hard.

And... I would like to code it in ANSI C++ for both Linux and Windows.

PS. WOW 23 users are browsing my thread!

Posted Image
There is no problem that cannot be solved by the use of high explosives.


#7
artificial

artificial

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 624 posts
Well, if you plan to program it for Linux and Windows, I recommend a library like wxWidgets or GTK+.

AdvMutant said:

And... I would like to code it in ASCII C++ for both Linux and Windows.

It's called ANSI C++. ;) You don't have to worry about that for the compiler will take care of it.

PS: No offense to you. I just wanted to tell you that it will/could be hard. :)
Sometimes words ain't enough to express something. That's why computer scientists use double words.

#8
AdvMutant

AdvMutant

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 438 posts
Yes, I know you wasn't saying it with offense.
That ANSI and ASCII thing always confuses me. Sorry XD

PS. 28 users now!
-EDIT-
Wait wait wait. GTK+ is written in C, so does it mean I can just code the IDE in C?

Posted Image
There is no problem that cannot be solved by the use of high explosives.


#9
Bartil

Bartil

    Newbie

  • Members
  • Pip
  • 2 posts

AdvMutant said:

Wait wait wait. GTK+ is written in C, so does it mean I can just code the IDE in C?
GTK+ has bindings to several languages, among them c++. Also if you don't know, c++ is highly compatible with c.

#10
AdvMutant

AdvMutant

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 438 posts
Duh, that's why it's named C++.
I do know it works with C++, but I'm asking specifically about C. I already said at the tread that switching to C++ before finishing with C will interrupt my progress. Not much, but it still will. C++ is still different, and it's a pain re-getting used to a language after not using if for a long period. (especially if you're switching back after VB5)

Posted Image
There is no problem that cannot be solved by the use of high explosives.


#11
abzero

abzero

    Programming Professional

  • Members
  • PipPipPipPipPip
  • 217 posts
A rose by any other name will still smell as sweet.

Or to put it another way, name mean little ;)

It's my held belief that GUI's should be hybrid. C,c++, java etc should be used as the core program. Then a higher level binding language should be used
to bind the gui's controls to published data items from the core code. But that's an aside (I'm poor at GUI programming so you should ignore me ;)

#12
AdvMutant

AdvMutant

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 438 posts
O.o
I don't get it. You're still a programmer...

Posted Image
There is no problem that cannot be solved by the use of high explosives.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users