How Can I Create My Own Software Like Keil?

  • Thread starter Thread starter vead
  • Start date Start date
  • Tags Tags
    Software
Click For Summary

Discussion Overview

The discussion revolves around the process of creating software similar to Keil, specifically focusing on developing a text editor. Participants explore foundational programming concepts, the role of compilers and assemblers, and the necessary tools for software development.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant expresses a desire to create software like Keil and seeks guidance on what to learn, mentioning a background in electronics engineering and basic knowledge of C language, data structures, and algorithms.
  • Another participant explains that an icon is a link to an executable program, which is created by a compiler or assembler from the code written by the user.
  • Some participants suggest starting with basic programming concepts before attempting to create a text editor, recommending resources for learning C or Python.
  • There is a discussion about the complexity of creating a text editor, with some participants suggesting simpler projects as initial learning exercises.
  • One participant clarifies that "Keil" refers to a company that produces development tools, indicating that the original poster may be overestimating their current capabilities.
  • Several participants discuss the need for specific tools, such as Visual Basic or Visual Studio, to create executable software, emphasizing the platform-specific nature of software development.
  • One participant provides a simple C code example to illustrate the concept of creating software, while others emphasize the importance of understanding the process of creating an executable.

Areas of Agreement / Disagreement

Participants generally agree that foundational programming knowledge is essential before attempting to create more complex software. However, there is disagreement regarding the appropriateness of the original poster's ambitions and the complexity of the task at hand, with some suggesting simpler starting points.

Contextual Notes

Participants express varying levels of understanding about programming concepts, compilers, and the software creation process. There are indications of confusion regarding the role of icons and executable files, as well as the specific tools needed for development.

Who May Find This Useful

This discussion may be useful for beginners in programming, particularly those interested in software development and the creation of user interfaces, as well as those seeking guidance on learning resources and development tools.

vead
Messages
92
Reaction score
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
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   Reactions: vead
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 )?
 
Get a book on beginning C or Python programming. Read it. Understand the programs you write using it. Baby steps, baby steps.
 
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 language 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   Reactions: vead
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:
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.
 
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
 
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   Reactions: 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   Reactions: vead
  • #13
  • Like
Likes   Reactions: 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"
 

Similar threads

Replies
38
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
Replies
16
Views
3K
Replies
7
Views
3K
  • · Replies 29 ·
Replies
29
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
3
Views
2K
Replies
10
Views
5K