¿Qué es un software? ¿Cómo puedo hacer uno con programación de computadora?

Comencemos con algunas definiciones simples …

¿Qué es un software?

Un software es un conjunto de programas empaquetados (unidos) para trabajar como una unidad o un grupo de unidades. Para hacer un software, necesita escribir programas.

¿Qué es un programa?

Un programa es un conjunto de instrucciones legibles por computadora que dirige a un procesador de computadora a realizar una determinada tarea (como agregar 2 números o imprimir algo, etc.). Para escribir programas, debe conocer la programación.

¿Qué es la programación?

La programación es el arte de escribir un programa. Para aprender programación debes aprender Lenguaje (s) de programación.

¿Qué es un lenguaje de programación?

Los lenguajes como C ++, Java, Python, etc., se conocen como lenguajes de programación y se usan para escribir programas de computadora.

¿Qué son las bases de datos?

Una base de datos es como un sistema de registro electrónico. Se utiliza para mantener los datos de una manera bien organizada a la que puede acceder un software para mostrar / manipular esos datos. Un ejemplo simple de base de datos está en Quora. Hay más de un millón de usuarios en Quora. Todos y cada uno de ellos tienen su propio nombre de usuario y contraseña únicos. Todos esos datos (nombre de usuario y contraseña) deben almacenarse en algún lugar. Ahí es donde entra la base de datos. La base de datos no es un software, es solo un conjunto de datos.

Si la base de datos no es un software, ¿cómo funciona?

Para administrar una base de datos, necesitamos un DBMS (sistema de administración de datos de datos). Algunos DBMS conocidos incluyen MySQL, PostgreSQL, Microsoft SQL Server, Oracle, Sybase e IBM DB2.

¿Qué son las API y los SDK?

Interfaz de programación de aplicaciones (API): una interfaz de programación de aplicaciones (API) es un conjunto particular de reglas (‘código’) y especificaciones que los programas de software pueden seguir para comunicarse entre sí. Sirve como interfaz entre diferentes programas de software y facilita su interacción, de forma similar a como la interfaz de usuario facilita la interacción entre humanos y computadoras.

Kit de desarrollo de software (SDK): como su nombre indica, un SDK es un conjunto de herramientas que pueden usarse para desarrollar un software real.

En palabras más simples:
API = Diccionario de palabras disponibles y sus significados (y la gramática requerida para combinarlas)
SDK = Un sistema de procesamiento de textos (para escribir un buen artículo o blog).

¿Qué son los compiladores e intérpretes?

Te sugiero que leas esta respuesta:
La respuesta de Drumil Shailesh Desai a ¿Cuáles son las diferencias entre un compilador, un intérprete y un ensamblador? Proporcione ejemplos.

¿Cómo hacer un software?

No hay una respuesta simple a esta pregunta. Primero necesitas aprender un lenguaje de programación. Necesita comprender el concepto de programación orientada a objetos. Debe proporcionar GUI a su código. Luego empaquételo. El primer software que hice fue un simple ‘Sistema de gestión de estudiantes’ usando Java. Entonces, si está utilizando Java para desarrollar un software, todo lo que tiene que hacer es escribir el código de su software en un IDE como Netbeans o Eclipse. Si está usando C ++, puede usar Visual C ++. No importa lo que elija, debe tener una buena comprensión del ciclo de vida de desarrollo de software y el idioma que desea utilizar.

Espero eso ayude….

Es cierto que el mundo del desarrollo de software es abrumador, pero permítanme decirlo en palabras muy simples para usted, hay 4 categorías básicas, todo cae en uno de estos 4 principalmente,
1) El escritorio se refiere a la práctica de hacer cosas que pueden ejecutarse en una PC o Mac, ahora recuerde que no estoy hablando del servidor aquí porque estoy tratando de mantenerme en la categoría principal donde, por ejemplo, tiene una tienda, desea imprimir sus facturas y tenga un programa para hacer un seguimiento de sus clientes que entran y salen diariamente de su tienda, siempre que su tienda no sea un supermercado en 100 ubicaciones, esta es la categoría que utilizará
2) Web permite hablar sobre esa misma tienda, solo que esta vez abrió 4 sucursales en su área local, desea realizar un seguimiento general de las 4 sucursales y eso significaría un servidor central donde se envían los datos desde las 4 sucursales de la tienda sobre facturas y esas cosas
3) La base de datos habla sobre la misma tienda, esta vez quiere hacer algo más que imprimir facturas, desea hacer un seguimiento de quiénes son las personas que lo visitan, qué compran generalmente, por cuánto compran, usted elige agregando una base de datos, una enorme que almacena cada movimiento realizado por el cliente en su tienda, sé que suena demasiado intrusivo pero las grandes tiendas como Wallmart y todos usan todos estos datos para decidir qué sección colocar en qué lugar de su complejo en expansión y usted puede hazlo también
4) ¿Móvil no desea que los clientes vengan a su tienda? en lugar de sentarse y en casa y pedir cosas, se vuelve móvil usando Android o IOS o Windows o Tizen o cualquier cosa nueva y les permite hacer todas las compras desde casa, ahora recuerde, la Web también puede permitir que las personas hagan todas las compras desde casa, pero en la Web que mencioné anteriormente, estaba hablando de su tienda y su conjunto cerrado de servidores, puede hacer uno público que permita a las personas hacer compras en línea.

Llegando a la siguiente parte de tu pregunta
las computadoras solo entienden 101010111010101110101011100011010, los humanos no tienen idea de lo que esto significa, por lo que escriben declaraciones algo simples que se parecen un poco al inglés pero son extrañas y lo llaman lenguaje ensamblador, ahora recuerden, aunque dije inglés, el lenguaje ensamblador no se parece en nada a eso, parece más Me gusta esto

prnstr macro msg
mov ah, 09h
lea dx, msg
int 21h
endm

segmento de datos
buf1 db “Vuvedete desetichno chislo: $”
buf2 db 0ah, “Nevalidno chislo … $”
buf3 db 0ah, “Chisloto v osmichna broina sistema e: $”
buf4 db 6
db 0
db 6 dup (0)
multiplicador db 0ah
los datos terminan

segmento de código
asumir cs: código, ds: datos
comienzo :
mov axe, datos
mov ds, ax
mov es, ax

prnstr buf1

mov ah, 0ah
lea dx, buf4
int 21h

mov si, offset buf4 + 2
mov cl, byte ptr [si-1]
mov ch, 00h
restar:
mov al, byte ptr [si]
cmp al, 30h
jnb cont1
prnstr buf2
parada jmp
cont1:
cmp al, 3ah
jb cont2
prnstr buf2
parada jmp
cont2:
sub al, 30h
mov byte ptr [si], al

inc si
restar bucle

mov si, offset buf4 + 2
mov cl, byte ptr [si-1]
mov ch, 00h
mov axe, 0000h
calc:
multiplicador mul
mov bl, byte ptr [si]
mov bh, 00h
agregar hacha, bx
inc si
loop calc

mov si, offset buf4 + 2
mov bx, ax
mov dx, 0000h
mov axe, 8000h
convertir:
mov cx, 0000h
conv:
cmp bx, ax
jb cont3
sub bx, hacha
inc cx
jmp conv
cont3:
agregar cl, 30h
mov byte ptr [si], cl
inc si
mov cx, 0008h
div cx
hacha cmp, 0000h
jnz convert

mov byte ptr [si], ‘$’
prnstr buf3
prnstr buf4 + 2
detener :
mov axe, 4c00h
int 21h
termina el código
fin comienzo

y ese era un programa simple para convertir decimal a octal pero ¿adivina qué?
no tienes que escribir esto en absoluto

usted escribe en un lenguaje que es más amigable para los humanos llamado lenguaje de programación de nivel superior como C, C ++, C #, Objective C, Java, Python, PHP, etc.
, el mismo programa se parece un poco más a esto

  1. utilizando el sistema;
  2. programa de clase
  3. {
  4. público estático vacío Main ()
  5. {
  6. int decimalNumber, cociente, i = 1, j;
  7. int [] octalNumber = new int [100];
  8. Console.WriteLine (“Ingrese un número decimal:”);
  9. decimalNumber = int .Parse (Console.ReadLine ());
  10. cociente = decimalNumber;
  11. while (cociente! = 0)
  12. {
  13. octalNumber [i ++] = cociente% 8;
  14. cociente = cociente / 8;
  15. }
  16. Console.Write (“El número octal equivalente es”);
  17. para (j = i – 1; j> 0; j–)
  18. Console.Write (octalNumber [j]);
  19. Console.Read ();
  20. }
  21. }
    Esto fue con do sostenido. A medida que avanza en la jerarquía del lenguaje, escribe códigos cada vez más cortos, Swift y Python tienen un código mucho más corto que este para lograr lo mismo. Recuerde lo que dije al principio, las computadoras no entienden esto, necesitan a alguien que pueda traducir este lenguaje amigable para los humanos al 10101000101111011, que se llama un compilador. y un intérprete no es muy diferente de un compilador y ciertamente puede leer un poco más sobre eso, ya que difiere en su funcionamiento de un idioma a otro, cada lenguaje de programación a su vez hace mucho trabajo común para usted y lo pone en un buen grupo o paquete que llaman interfaz de programación abstracta API, por ejemplo, ¿quieres imprimir cosas en la pantalla? no es necesario que saquee sus cerebros sobre cómo hacerlo, todo lo que tiene que hacer en la mayoría de los lenguajes de alto nivel es usar una función y ellos harán todo el trabajo duro por usted, su trabajo como programador es comprender cuáles son las API, recuerde no MEMORIZAR, es imposible hacerlo, comprender lo que se le da, lo que hace su lenguaje de programación con qué parte de su API e intentar obtener esa API y eso es lo que básicamente hace todo programador en el planeta. Aunque podría escribir 10 libros sobre lo que acabo de explicar, es hora de la siesta para mí aquí y, por lo tanto, resumiré la historia, espero que ayude

El software de la computadora es un conjunto de instrucciones dadas a la computadora por la persona que sabe cómo escribir esas instrucciones.

Por ejemplo: sumar dos números, etc.

Las instrucciones en forma binaria solo se entienden por computadora, lo que es difícil y complejo para que los seres humanos escriban esos, por lo tanto, los compiladores crean lenguajes de alto nivel y luego los compilan.

Puedes hacerlos con

  1. buen conocimiento o conocimiento básico de computadoras.
  2. Un lenguaje de programación como ensamblador, c, java o solo con binario.
  3. Se necesita un compilador si elige idiomas como c, c ++, etc.
  4. Un buen editor de texto para escribir código.
  5. Una computadora para entender sus instrucciones.
  6. Una buena cantidad de tiempo dedicado.

En palabras simples, el software es un programa que realiza cierto conjunto de operaciones definidas. El software se puede clasificar de acuerdo con lo que está diseñado para lograr como: –

  • El software de aplicación a menudo se llama programas de productividad o programas de usuario final porque le permiten al usuario completar tareas como crear documentos, hojas de cálculo. Estos programas están diseñados para realizar aplicaciones específicas como calculadora. MS Office es otro ejemplo de esto.
  • El software del sistema son aquellos programas que nos ayudan a interactuar con el hardware de nuestro sistema o administrar nuestro sistema, por ejemplo, nuestro sistema operativo. El sistema operativo administra los recursos del hardware de la computadora además de las aplicaciones y los datos.

Si tiene conocimientos de programación de computadoras, puede comenzar a hacer uno de acuerdo con sus necesidades y requisitos. Si no es así, primero puede comenzar aprendiendo C, C ++, ya que tienden a establecer una base sólida. Cualquier programa que incluso agregue dos números se puede decir como software. así que depende de su conocimiento y requerimiento que pueda hacer cualquier tipo de software.

Los software son un conjunto de programas que resuelven un problema particular. usted puede hacer un software con la corrección de un programa usando un lenguaje de computadora. pero desarrollar un software no es corregir programas, tiene muchas fases para desarrollar un programa. como análisis de requisitos, desarrollo, pruebas, medición de calidad, etc.

Puedo sentir tu confusión
Primero, es realmente importante entender cómo funcionan las cosas y qué logran. Yo mismo no sabía por dónde empezar. Entonces, ya sabes lo que dicen, es el primer paso que es difícil. Entonces, hace 2 semanas comencé a aprender diseño web. Sé que es básico, pero así es como sabremos a dónde ir, pedir instrucciones y, en el medio, presentar la programación básica. Ahora, las cosas comienzan a mostrarse. Con suerte, estoy en el camino correcto.
Y mi consejo para ti será, solo comienza. Las cosas caerán en los lugares correctos.