How Can I Create My Own Software Like Keil?

  • Thread starter vead
  • Start date
  • Tags
    Software
In summary, it sounds like you want to create a text editor because you want to learn how to program. You should use a compiler to create software like Keil. It is not clear why you want to make a text editor when there are many good ones available for free. It is possible that you are learning this editor for a class or project.
  • #1
vead
92
0
hello,
I need some information If I want to create my own software (like keil), Then what I need to learn
I am interested developing software text editor . I know I need to learn one programming language.

I have little bit knowledge about c language , and data structure , algorithmI am doing electronics engineering I don't have much knowledge about how does software make
. we see icon on desktop then we do single click then we saw the some function add file, delete file copy move

I know we write code but don't know how they create in one file (icon )?
 
Technology news on Phys.org
  • #2
The icon is just a signal to the operating system to invoke an executable program. The executable program is created by an assembler or compiler from the code you write. It sounds like you should learn some basic programming before you worry about writing a text editor. If you don't know what an icon does, then clearly you need to start from the very beginning in learning to write programs.
 
  • Like
Likes vead
  • #3
vead said:
I am doing electronics engineering I don't have much knowledge about how does software make.
It's not clear to me what you're asking. How does software make what? Or are you asking how is software made?

As phinds said, it looks like you need to start at the very beginning, using some programming language to create a simple program.
vead said:
we see icon on desktop then we do single click then we saw the some function add file, delete file copy move

I know we write code but don't know how they create in one file (icon )?
 
  • #4
Get a book on beginning C or Python programming. Read it. Understand the programs you write using it. Baby steps, baby steps.
 
  • #5
Greetings
I'm afraid you are being confused by a misunderstanding of what an icon actually is and how it functions and this is the basis behind the Graphic User Interface (GUI) http://en.wikipedia.org/wiki/Graphical_user_interface.

Just as the Brake Pedal in your car is not the braking system itself but rather an interface that humans can easily operate to somewhat remotely activate a hydraulic piston to squeeze brake pads on a disc or expand brake "shoes" into a drum on any number of wheels, an icon is a "symbolic link" to software(s).

Computers run on binary code, commonly referred to as "Machine Language" http://en.wikipedia.org/wiki/Machine_code since it is easiest to make electronic devices that exist in just one of two states - Hi/Lo, Off/On, Yes/No, 1/0. Note here that already human friendly text (Hi/Lo, Off,On) differs slightly from the binary integers since 0/1 is a somehow more intuitive sequence, but "1" is the "On" state, while "0" is the "Off" state so while "0/1" looks "more right" to most of us, "when in Rome do as the Romans do" or more exactly we must link together text we can easily understand to numbers the machine can follow. Writing code in Machine Langauge is exceedingly difficult for humans so we have "higher code languages", like Assembly, C, C++, etc. that can translate syntax of text into binary the machine can "understand".

Many people find memorizing commands and their numerous switching options, daunting as well. Icons are an attempt to employ the "a picture says 1000 words" concept because, using your example of "keil", many have no idea what "keil" is but those same people have no problem figuring that a picture of a pen on paper in icon form has something to do with writing text. However the picture is not the file but only a link assigned to that file. It is entirely possible to use the exact same icon for every application/program on your desktop but that would rather defeat the purpose of being more "user friendly". It does however illustrate that the icons are just links to an instruction or set of instructions.

This is a concept you must grasp before you even begin to write code. To return to the auto braking system analogy, all a person needs to operate brakes is a working leg and foot, the knowledge and the will to use them. To actually work on the brakes themselves you need a lot more knowledge and a box of tools.
 
  • Like
Likes vead
  • #6
phinds said:
The icon is just a signal to the operating system to invoke an executable program. The executable program is created by an assembler or compiler from the code you write.
that means I need compiler or assembler to create software like keil ,avr gcc

I have written some assembly and c program for microcontroller
I want to make simple text editor
Q1which compiler should I use ?
Q2can I use keil software ?
 
Last edited:
  • #7
why do you want to make a text editor when so many good ones are available for free? Is it a learning exercise? If so I would start with something simpler, like a program that prints out "hello world".

If you've written some assembly and C programs for a microcontroller, how can you possibly not know what a compiler or assembler is?

BTW "keil" is not a piece of software, it is a company that makes dev. tools for ARM products. That is way, way, way too advanced for you at the moment. Don't even worry about that.

Download Python, install it on your computer (if you've got a Linux machine it should already be there), and download this free Python text. http://www.greenteapress.com/thinkpython/

You are a long way from the capability to write a text editor. It is much more complex that you think. If you insist on jumping in before you have any idea what you're doing you are going to fail and frustrate yourself.
 
  • #8
analogdesign said:
why do you want to make a text editor when so many good ones are available for free? Is it a learning exercise? If so I would start with something simpler, like a program that prints out "hello world".

If you've written some assembly and C programs for a microcontroller, how can you possibly not know what a compiler or assembler is?

.
I know what is assembler and compiler simple when we write code software compile code and create hex code then this hex code burnt into memory of micro controller
 
  • #9
theoretically I want to create software that's name is mysoftware and that should be run on desktop that software will show my name vead sharma
Icon should be mysoftware
when I will click on mysoftware then I will show my name
Code:
#include <stdio.h>
main()
{
    printf("vead sharma \n");
    return 0;
  

}
I am just asking process so I have taken one example
tell me how to create software ?
 
  • #10
that is very easy with a package like Visual Basic or Visual Studio. It depends a lot on your tools.

Your C code will work but making an executable is a very platform-specific question. GCC won't do it for you. What platform / tools do you have?
 
  • Like
Likes vead
  • #11
analogdesign said:
that is very easy with a package like Visual Basic or Visual Studio. It depends a lot on your tools.

Your C code will work but making an executable is a very platform-specific question. GCC won't do it for you. What platform / tools do you have?
so I need Visual Basic or Visual Studio ok I will download.
 
  • #12
vead said:
theoretically I want to create software that's name is mysoftware and that should be run on desktop that software will show my name vead sharma
Icon should be mysoftware
when I will click on mysoftware then I will show my name
Code:
#include <stdio.h>
main()
{
    printf("vead sharma \n");
    return 0;
 

}
I am just asking process so I have taken one example
tell me how to create software ?

You just DID create software. The code you posted is software. I think what you are asking is how do I create an EXECUTABLE, and I have already explained that.

You seem to know much less than you think you know, or perhaps you are expressing yourself badly, but in any case, what we ALL are telling you is BABY STEPS.

Get a compiler and learn to write "hello world" and go from there. Quit asking questions that are too advanced for you.

Beyond that, this thread is pointless.
 
  • Like
Likes vead
  • #14
vead said:
don't know how they create in one file (icon )?

That depends on the operating system that you are programming for: Windows, Mac OS, iOS, Android, Linux, ...

Besides knowing how to program in C (or whatever other language may be favored for that operating system), you need specialized information on how to program for that operating system.
 
  • #15
I must confess to some ignorance and confusion now since I looked up "Keil". As far as I can tell they are a company that makes software for embedded devices, mostly ARM controlled, and they offer a complete set of programming tools apparently as well as tutorial kits, so why are you not just using those, Vead? I'm also having a difficult time imagining someone skilled enough to write in Assembly unaware of these things. Maybe it's just a few short sentences an the problem of English, but I can't wrap my head around this in any cogent way.

There exists an abundance of extremely feature-full text editors because they came first. As you must know, code is written in them and some like emacs and vi have been around and evolving since the 1970's. An individual will be hard-pressed to create better so are you just trying to create a name for yourself? and if so, for career purposes or just vanity?

Edit - OK maybe I'm a little clearer now after re-reading all vead's posts. It appears that vead is following the exact path that the industry did by learning to control component devices and wishes to see ahead to how that evolves into an operating system (or major components of an operating system) and how that is controlled by dedicated icons instead of written commands.

Let me suggest that you download a kernel source, any will do, from kernel.org that you can unzip and then look over the config file to see how hardware support is combined in a system. This may be a bit foreign to you if you haven't worked in Linux but it seems as if cost may be an obstacle (isn't it always ? :) ) and Linux is free both in cost and as in freedom.
 
Last edited:
  • #17
analogdesign said:
https://www.physicsforums.com/threads/8-bit-processor.769700/

I think the dude's trolling us. Very subtle. Well done.

I'm not so sure of that. I think much is just language barrier. I can, however, imagine someone just like vead has stated, that is an Electronics major, NOT a Computer Science major (essentially coming in from the "backdoor" hardware angle) having learned Assembly (the most efficient way to program embedded devices) just trying to bridge the gulf to System Management as a Computer Science student views it. I don't see the "grief and lulz" that connotes a troll yet, so until that time as proved otherwise, I see a student chomping at the bit (pun only slightly intended :) )
 
  • #18
enorbet said:
I'm not so sure of that. I think much is just language barrier. I can, however, imagine someone just like vead has stated, that is an Electronics major, NOT a Computer Science major (essentially coming in from the "backdoor" hardware angle) having learned Assembly (the most efficient way to program embedded devices) just trying to bridge the gulf to System Management as a Computer Science student views it. I don't see the "grief and lulz" that connotes a troll yet, so until that time as proved otherwise, I see a student chomping at the bit (pun only slightly intended :) )

Perhaps. Maybe he or she is just clueless on a truly epic scale. I focused on analog in my studies (about as far from computers as one can get) and I still took introductory courses in Pascal, C, and C++. The idea of an electronics major being so clueless about software boggles the mind. What is modern professional electronics development but an endless interaction with various pieces of software and writing scripts to cobble them together? I can't imagine an electronics student so clueless.

If you look at the link I posted, you'll see the OP is equally befuddled in hardware. Maybe the student just doesn't know how utterly befuddled he or she is. He or she seriously needs to go back to "Hello World" and "meet our friend, the AND gate"
 

FAQ: How Can I Create My Own Software Like Keil?

How is software created?

Software is created through a process called software development. This involves designing, coding, testing, and maintaining computer programs that perform specific tasks or functions.

What programming languages are used to make software?

There are many different programming languages that can be used to make software, such as Java, C++, Python, and HTML. The specific language used depends on the type of software being developed and the preference of the software developer.

Can anyone make software?

Yes, anyone can learn to make software with the right resources and dedication. However, it does require a certain level of technical skills and knowledge in programming languages and software development processes.

How long does it take to make software?

The time it takes to make software varies depending on the complexity of the project and the skills of the developer. Simple software can be created in a matter of weeks, while more complex software can take months or even years to develop.

What is the importance of testing in software development?

Testing is a critical step in software development as it ensures that the software functions as intended and is free of bugs and errors. It also helps identify any potential issues and allows for corrections to be made before the software is released to the public.

Back
Top