- C ++ es una amalgama entre la programación modular y la orientada a objetos, y Java es un lenguaje casi completo orientado a objetos, Python nunca fue diseñado para un propósito específico.
- C ++ se inventó cuando los proyectos de la época crecían más allá de la capacidad del lenguaje C, por lo que cuando los proyectos iban más allá de las capacidades de C ++, la gente cambiaba a otros idiomas.
- Java fue el lenguaje cuando Internet estaba en auge porque era el lenguaje generalizado para las aplicaciones de programación para ser independiente de la plataforma, ahora no es un gran problema porque casi todo es independiente de la plataforma, pero considere el momento de la década de 1990. La industria de la computación se dividió en campos, Mac, Windows + Intel, IBM. fue horrible para los programadores porque las aplicaciones de Windows no se ejecutaban en el mac ni se ejecutaban en IBM. así que Java, que originalmente estaba destinado a ser un lenguaje para la programación de dispositivos electrónicos, recibió un impulso porque era una plataforma independiente, esa era la era de Internet, desde entonces java ha estado a la vanguardia de la industria del software.
- La razón principal de la fama de Python es que era de código abierto, por lo que la gente continuó agregando cosas nuevas al lenguaje, por otro lado, C ++ y Java están estancados, por lo que no hay un incremento en el lenguaje desde la década de 1990.
- La razón por la que se inventó Python está mejor escrita por el propio inventor en la documentación.
Tenía una amplia experiencia en la implementación de un lenguaje interpretado en el grupo ABC en CWI, y al trabajar con este grupo aprendí mucho sobre el diseño del lenguaje. Este es el origen de muchas características de Python, incluido el uso de la sangría para la agrupación de sentencias y la inclusión de tipos de datos de muy alto nivel (aunque los detalles son todos diferentes en Python).
Tuve una serie de quejas sobre el lenguaje ABC, pero también me gustaron muchas de sus características. Fue imposible extender el lenguaje ABC (o su implementación) para remediar mis quejas; de hecho, su falta de extensibilidad fue uno de sus mayores problemas. Tenía algo de experiencia con el uso de Modula-2 + y
Hablé con los diseñadores de Modula-3 y leí el informe Modula-3. Modula-3 es el origen de la sintaxis y la semántica utilizadas para las excepciones y algunas otras características de Python. Trabajaba en el grupo de sistemas operativos distribuidos Amoeba en CWI. Necesitábamos una mejor forma de administrar el sistema que escribiendo programas C o shell shell de Bourne, ya que Amoeba tenía su propia interfaz de llamada al sistema que no era fácilmente accesible desde el shell Bourne. Mi experiencia con el manejo de errores en Amoeba me hizo muy consciente de la importancia de las excepciones como característica del lenguaje de programación.
Se me ocurrió que un lenguaje de scripting con una sintaxis como ABC pero con acceso a las llamadas al sistema Amoeba llenaría la necesidad. Me di cuenta de que sería una tontería escribir un lenguaje específico de Amoeba, así que decidí que necesitaba un lenguaje que fuera generalmente extensible. Durante las vacaciones de Navidad de 1989, tuve mucho tiempo en mi mano, así que decidí intentarlo. Durante el año siguiente, mientras trabajaba en su mayor parte en mi propio tiempo, Python se utilizó en el proyecto Amoeba con un éxito cada vez mayor, y los comentarios de mis colegas me hicieron agregar muchas mejoras iniciales.
En febrero de 1991, después de poco más de un año de desarrollo, decidí publicar en USENET. El resto está en el archivo Misc / HISTORY.
esto fue también en la década de 1990, ya que entonces python era un lenguaje de código abierto y, como Google usó python, dio un impulso al lenguaje https: // pypi . python .org / visite este repositorio para las bibliotecas externas disponibles para el lenguaje python.
- En Python han implementado el concepto de abstracción , puedes programar cualquier aplicación sofisticada en una materia, en unas pocas líneas usando unos pocos programas,
desde scapy.todo *
def analizar (ctsList):
diff = []
j = 0
lcts = len (ctsList)
para i en rango (0, lcts-2):
diff.append (ctsList [i + 1] -ctsList [i]) #a [0] -a [1], a [1] -a [2]
ldiff = len (diff)
para i en rango (0, ldiff):
si diff [i]> 0:
Si diff [i] <140 y diff [i]> 70:
j + = 1
else: imprime "intrusión detectada"
más:
si -diff [i] <140 y -diff [i]> 70:
j + = 1
else: imprime "intrusión detectada"
si j == ldiff:
Imprimir "intrusión no detectada"
i = IP (dst = "192.168.1.1", chksum = 1234)
sr (i / TCP (chksum = 1234), marca = 0x02))
ans, unans = __
si ans == RST:
Imprimir "punto de acceso legítimo"
más:
Imprimir "punto de acceso rogue confirmado"
ping = promiscando (net, iface = Conf.iface)
opfile = abierto ('ping', 'w')
opfile.write (ping)
opfile.close ()
#deauth y autenticar al mismo ESSID
def testCTS (pkt):
ctsList = []
Conf.iface = "mon0"
tratar:
Si pkt.haslayer (Dot11):
cts = str (pkt.cts)
imprimir 'cts:' + cts
ctsList.append (cts)
excepto:
pasar
analizar (ctsList)
'' '
def testDummy ():
ctsList = [4000,8080, 4000, 4090, 8130,]
analizar (ctsList)
'' '
def main ():
#testDummy ()
sniff (prn = testCTS, store = 0)
si __name__ == '__main__':
principal()
Este es un código para detectar el punto de acceso wifi para almacenar el marco para enviar entre los paquetes que se emiten a través de la red. Intente esto en C, se reducirá a miles de líneas y será tan complicado como el núcleo de Linux. (casi).
esto solo se trata de la seguridad de la red, pero puede hacer casi todo en Python, incluyendo NLP, aplicaciones web altamente escalables y botnets.