Jump to content

Pioneer Programmer in C#

- - - - -

  • Please log in to reply
16 replies to this topic

#1
yasiralijaved

yasiralijaved

    Newbie

  • Members
  • Pip
  • 8 posts
Dear friends, i am developing a new IDE in C# according to fifth generation programming concept. This software will have drag and drop system with a designer window. For Example Programmer will just drag a class icon in designer window, and some code will be automatically generated at the back end. Then programmer will just drag an integer icon and drop it in the last created class icon in designer window, then that integer will automatically composed in that class, and appropriate code will be generated.

This software (pioneer programmer) will generate code of C, C++, C#, Java.

Another main feature of this software is that this software will accept a java source code and will convert it to C, C++, C# codes.

Another main feature of this software is that this software will become a communication platform for C,C++, C# and Java. For Example, if you have created a module in Java, and i have created a module in C#, then we will just give our source codes to this software, and it will combine our modules and will generate the codes for C, C++, C# and Java.

I have many other ideas according to fifth generation programming. i mean , i will implement fifth generation programming concept in this software.

So any volunteer wana become my team fellow?

i am open sourcing it.

#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
How do intend to address issues such as C++ supporting multiple inheritance, but Java and C# not?
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#3
yasiralijaved

yasiralijaved

    Newbie

  • Members
  • Pip
  • 8 posts

WingedPanther said:

How do intend to address issues such as C++ supporting multiple inheritance, but Java and C# not?

In this software, there will be no permission of multiple inheritance. so user can generate the code of C++ easily. And about conversion of code from C++ to any other language, we will create an algorithm, which will do same in C# and java without multiple inheritance. i mean to say that we will create virtual multiple inheritance which will fairly acceptable by C# and Java. for further explanation you must have to visit this link. Multiple Inheritance in C#

#4
sam_coder

sam_coder

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 372 posts
In my opinion, an interface implementation is not the same as inheritance.

An interface is nothing more than a contract.

I think what he means is this.

in C++, you can have
Utensil
^ ^
Spoon Fork
^ ^
Spork

in C#
Utensil
^ ^ ^
Spoon Fork Spork

in C++, spoon has the scooping attribute and the fork has the stabbing attribute

spork takes on both attributes simply because it's derived from both.

in C#, your more or less saying that a spork is a utensil, and it implements it's own version of stab and scoop. It's not really the same.

#5
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
I understand that. Perhaps I should clarify: does it only accept Java and C# source code as input, or does it accept all four?
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog

#6
sam_coder

sam_coder

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 372 posts
would there be an implied cross platform nature to it?
Where C# / Mono for example could run on windows or GNU+Linux for example

and java of course could run on anything.

Are you specifically targeting windows? What will generated code link against?

#7
yasiralijaved

yasiralijaved

    Newbie

  • Members
  • Pip
  • 8 posts

sam_coder said:

In my opinion, an interface implementation is not the same as inheritance.

An interface is nothing more than a contract.

I think what he means is this.

in C++, you can have
Utensil
^ ^
Spoon Fork
^ ^
Spork

in C#
Utensil
^ ^ ^
Spoon Fork Spork

in C++, spoon has the scooping attribute and the fork has the stabbing attribute

spork takes on both attributes simply because it's derived from both.

in C#, your more or less saying that a spork is a utensil, and it implements it's own version of stab and scoop. It's not really the same.

As you know that C++ is old language. i dnt know why multiple inheritance is allowed here. It should be not. As you are quoting the example of Spork, then there should be a solution in Java And C#, because these are mature languages. i will go deeply to find out the answer of your question. But i am still focused on "Generating Beginner Code of C#, C, C++, Java (eg. Console Applications) " ....

#8
yasiralijaved

yasiralijaved

    Newbie

  • Members
  • Pip
  • 8 posts

WingedPanther said:

I understand that. Perhaps I should clarify: does it only accept Java and C# source code as input, or does it accept all four?

It will accept any of C, C++, C#, or Java code as input. Then user will be able to convert it any of C, C++, C#, Java.

#9
yasiralijaved

yasiralijaved

    Newbie

  • Members
  • Pip
  • 8 posts

sam_coder said:

would there be an implied cross platform nature to it?
Where C# / Mono for example could run on windows or GNU+Linux for example

and java of course could run on anything.

Are you specifically targeting windows? What will generated code link against?

For this problem of platform dependency, i will suggest that its better to only generate the "Source Code" of Java, C# C, C++. So that programmers will be able to compile that code on any platform.

#10
sam_coder

sam_coder

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 372 posts
It will be interesting to see how it all comes together.

but it sounds like what you're doing is converting syntax primarily.

In addition to syntax, different APIs come into play. So I assume there will be something of a dictionary referenced.
for example,

C#:

Console.Write("Hello, World!");


Java:

System.out.print("Hello, World!");


C++:

cout << "Hello, World!";


C:

puts("Hello, World!");


because technically, syntactically, most of these are syntactically correct already between one another.

I'm also curious to see how things like the fact that 3 of the above languages have the concept of objects, where C doesn't. And how that would be handled application wide.

I'd also be interested to know what apis will be referenced, especially for unmanaged code.

Anywho, Best of luck!

#11
yasiralijaved

yasiralijaved

    Newbie

  • Members
  • Pip
  • 8 posts

sam_coder said:

It will be interesting to see how it all comes together.

but it sounds like what you're doing is converting syntax primarily.

In addition to syntax, different APIs come into play. So I assume there will be something of a dictionary referenced.

I'm also curious to see how things like the fact that 3 of the above languages have the concept of objects, where C doesn't. And how that would be handled application wide.

I'd also be interested to know what apis will be referenced, especially for unmanaged code.

As there is no object orientation in C, so we will use structures to solve the problem of classes. I know, there will be a problem of inheritance of polymorphism in structure, but we being programmers must have to find out the solution of any problem of the world :) .. and we will not use any API. Because APIs for Syntax Parsing purpose are very limited. But our vision is so broad. So we will do it ourselves.

#12
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others

yasiralijaved said:

For this problem of platform dependency, i will suggest that its better to only generate the "Source Code" of Java, C# C, C++. So that programmers will be able to compile that code on any platform.
Source code C++: using the spork example, only add the fact that fork has a property tines (integer, number of tines), and spoon has curvature. Then spork has both tines AND curvature. You simply have to change the entire structure in C# and Java. It can be done, but it won't look the same.

In addition, C++ has a wide variety of ways an overloaded function can behave in an inheritance situation, depending on whether it's declared virtual or not, depending on whether you are declaring a pointer to an object or an actual object, etc. Converting all of that to C, while possible, means using function name mangling, function pointer tables, etc.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users