This is the last topic of this course:(. After that I just need to provide some feedback and that's all. I hope the content of the last topic will be fascinating. So, what I have... I see that I can choose one IDE of 3 to examine: Visual Studio, Eclipse or MonoDevelop. But where's the introducting itself?! I expected some articales or even video lectures about IDEs in general when I will undertand what is IDE, how it works and the most importand thing - classification of IDEs and most notable examples. I am more that sure there're plenty of IDEs and probably my favourite one or the one that will be favourite for some particular type of work does not belong to these 3. But what I am waiting for? I will study that missing part myself! Let's google and read! To be honest I never did that although I dealed with some IDEs, like CodeBlocks IDE quite a lot. Now I think I will expand my point of view and probably will find another, even more convenient IDE.
I beginned with Wikipedia - http://en.wikipedia.org/wiki/Integrated_development_environment. The wiki article was a bit boring. Many of the wikisa are too formal I would say. I didn't studied much new from taht article but it leads to http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments. There are just plenty of comparasion tables for each programming language - quite boring. And no word in classification and also most notable IDEs are not mentioned. From those table of features I see that one of most powerful ones are CodeBlocks, NetBeans, Eclipse. I also see that MonoDevelop is not in the last place. I see that my teacher was not wrong when he advised me to look at Code::Blocks. But I still not satisfied with my understanding of IDEs, let's look on other articles... OK from what I see in the articles most of most notable IDEs support usually many languages but were designed only for a few originally. Again Eclipse, NetBeans and also Geany worths looking at closely. OK, I will start from Eclipse and maybe then go for MonoDevelop and finally will have a look at Visual Studio, a very short look because I am not going to use the product at this time that is beyong the freedom. So Eclipse...
Eclipse IDE Video Tutorial part 1 : GUI (12 min):
I have seen in the beginning that there're different kinds of Eclipse for each programming language. Did I get it right that the core of Eclipse is the same in each case but it only has different plug-ins in each case? I installed the IDE in my Ubuntu distro as easy as going to SW Center and clicking install. There was just one Eclipse available, it seems that it's kind of universal build.
Ups, it seems I don't have plug-ins for C++ installed, only for Java. I need to fix it..
Wonderful! I installed the missing C++ package for Eclipse and when I restarted it I see both Java and C++ Development links. I am beginning to love Eclipse.
The Eclipse layout looks natively and is similar to other IDEs which is great. I even think that among developers of IDEs there're some conventions or standards about IDEs.
The Eclipse UI looks fine and convenient, probably I like it even more than that of Code::Blocks IDE or NetBeans. But what a huge list of things appear when the right click in code-editor is done. That's too much to feel comfortable.
Perspectives are useful thing that I didn't use in CodeBlocks. Probably it's not there. In MonoDevelop it's called Layout I think.
Eclipse IDE Video Tutorial part 2 : Projects and Workspaces (6 min):
One idea that came to my mind when I was watching about Debug and Release targets: cross-platform support. It seems that at least with no special plugins it's not supported, i.e. from the beginning we bind the project to some toolchain e.g. GCC. But what if we would like to develop a cross-platform app using wxWidgets GUI? It's not convenient to create separate projects for each platform. In CodeBlocks I solved this by creating different targets, e.g. WinRelease, LinuxRelease.
Hm.. I wonder why Eclipse is restarting when I select another workspace? Did I get it right that all the settings including layouts are specific for each workspace?
Eclipse IDE Video Tutorial part 3 : Working with project (11 min):
src source folder.... I always see the same folder names like src, bin etc, when browsing some open-source project. Is this some kind of convention or standard among developers? Probably there should be something about that on the Internet.
I didn't understand why Eclipse cannot clean or suggest cleaning a project when we move source files. Probably it can be done with plugins.
So what if I will delete some file occasionaly? How can I get it back?
Eclipse IDE Video Tutorial part 4 : Adding classes and refactoring (19 min):
Most of the stuff there I have used in CodeBlocks too but probably not auto include. Well actually it will be much more convenient if Eclipse will place includes as soon as we mentioned some class in the code. The method showed in the tutorial is partly manual but still more convenient than doing everything yourself.
OK I have watched all those tutorials and I see that Eclipse has almost the same apperance and behaviour as CodeBlocks. I suppose that once I learned some IDE, like CodeBlocks, studying another won't be a challenge because all of IDEs are pretty much the same.
The tutorials were informative but I would be much better if all the features are demonstrated on one small but real-life related project (calculator e.g.) during it's development process.
Well I think that what I studied from those tutorials meets the specification stated in the topic:
- Setting up a working hierarchy of workspaces, solutions, and/or projects in the IDE.
- Setting up and using different configurations for example debugging and release phases of the project.
- Adding, creating, (re)opening and deleting files in a project.
- Building, rebuilding, and cleaning projects.
- Running and debugging projects.
- Adjusting project and solution settings to meet your requirements.
Now I will go for Coclusion topic where I will write a couple of words about the course and after that I will look maybe at other IDEs.
Total time spent: 3:48