¿Qué significa ide? ¿Editor o IDE? Otro intento de análisis. Entonces, ¿cuál elegir?

Me gustaría plantear una vez más este tema bastante controvertido.

Desde que comencé a programar, esta pregunta me ha perseguido y numerosos temas en foros y centros no me han aportado ninguna claridad. Además, me parece que no se dieron algunos argumentos para ambas partes. Y los que se dan tienen sus prioridades establecidas incorrectamente y falta el contexto.

En este artículo intentaré corregir esta omisión y puntear un poco más la “e”.

Invito a todos a participar en la búsqueda del instrumento ideal.

Sobre mi experiencia

Empecé a programar en DOS. en TurboPascal. Además, por alguna razón, usamos el IDE solo para depurar, y muy raramente. Para escribir código, prefirieron usar algún edit.exe sin nombre sin ningún resaltado de sintaxis junto con Volkov Commander. Y eso fue suficiente. Posteriormente estudié ensamblador y, parcialmente, C++ usando el mismo método.

Siguiendo estudiando C++, cambié a Windows y, en consecuencia, a Visual Studio: ¿dónde estaría sin él? Encontré versiones, si no me equivoco, del 5 al 7. Después un editor sencillo fue algo: la generación de código y el autocompletado fueron un placer. Es cierto que era casi imposible comprender todo el bien generado, pero esto parecía sin importancia.

Después de un tiempo, me cambié a Linux y comencé a desarrollar web en PHP. Aquí estudié vim al mismo tiempo y usé ZendStudio para el desarrollo. En algún momento comencé a usar solo Vim para todo; lo convertí, de acuerdo con numerosos tutoriales, en una pequeña idea. Es donde escribí mi primer CMS ciclista en PHP.

Observo que antes esta programación no era mi actividad principal. Sí, escribí varias pequeñas utilidades para el trabajo, hice temas para WordPress, pero mi actividad principal era la administración.

Tan pronto como comencé a desarrollarme profesionalmente, las capacidades de vim ya no fueron suficientes para mí. Primero fue eclipse, luego netbeans, ahora phpstorm.

Durante el último medio año he estado intentando heroicamente dominar emacs, incl. como principal entorno de trabajo.

Así que tengo algo con qué comparar y espero que mi opinión esté suficientemente fundamentada y bien razonada.

¿IDE? ID...

Durante mucho tiempo pensé en qué forma presentar una comparación de las ventajas y desventajas de las partes. La lista no es muy adecuada para esto, porque... una simple enumeración no refleja plenamente la esencia de la cuestión. Un editor y un IDE no son opuestos, sino herramientas cuyas aplicaciones se superponen en algún área. Las ventajas del editor no siempre son las desventajas del entorno y viceversa. Por este motivo, siguen debates más o menos estructurados sobre el tema.

Quizás comenzaré con una de las ventajas indiscutibles del editor: sus ricas capacidades para trabajar con texto y la capacidad de hacer todo sin quitar las manos del teclado. La mayoría de los entornos no hacen esto. Pero, ¿son necesarias estas características al escribir código? Al escribir un artículo o una carta, creo que es conveniente intercambiar 2 palabras o mover un párrafo a la parte superior de la página con solo presionar una tecla. Pero en el texto del programa esto, en la mayoría de los casos, no tiene sentido y requiere refactorización. Y tienes que pagar por esto con atajos de teclado de emacs que matan los dedos o con comandos no menos rompedores en vim. ¡Pero hay que recordar todo esto! Algo que se puede resolver simplemente con un movimiento del ratón, como mover una ventana o cambiar su tamaño, se convierte en toda una misión. Sí, incluso resalta el texto. más fácil con el ratón- de forma más precisa, más rápida y no es necesario contar cuántas palabras hay en el lugar deseado del texto. No, el programador también. poder Estas funciones pueden ser útiles, pero el hecho es que el tiempo dedicado a editar el código es insignificante, por lo que prácticamente no habrá ningún beneficio con el tiempo. Pero es obvia una complicación significativa del instrumento.

Un programador dedica el 80% de su tiempo a comprender el código escrito y recorrerlo. Además, ¡moverse precisamente por código y no por texto! Y aquí el editor no puede hacer absolutamente nada para ayudarle. La lista de parámetros del método no se mostrará en la información sobre herramientas, no le permitirá ir a la definición del método y no se verificará la sintaxis. Y los IDE, incluso los más simples, manejan esto de manera simple y elegante. Recientemente pasé unos 10 minutos buscando la definición de un método en un proyecto usando silversearcher de emacs. Resultó que la clase estaba definida en otro módulo, etc. ¡10 minutos, en lugar de un clic del ratón! Por supuesto, no tengo suficiente experiencia en emacs, así que sean 5 minutos, incluso un minuto. Pero la proporción sigue siendo impresionante.

Y aquí el IDE muestra su quizás única, pero muy significativa ventaja: la presencia de un analizador de lenguajes de programación. El entorno "entiende" que está editando el código. Editor-no. Y esto incluye el autocompletado, la navegación y el resaltado de errores sintácticos y, a veces, semánticos. Parece exceso linda cosita, mimos. Pero se convierte en una necesidad cuando el tamaño del proyecto supera un cierto límite. Y teniendo en cuenta los voluminosos marcos modernos, este límite llega casi de inmediato.

Sí, en un proyecto con una docena de archivos y un par de miles de líneas, esta ventaja no se manifiesta en todo su esplendor. El editor también puede realizar el mismo autocompletado, pero nunca eliminará opciones sin sentido. Y si el tamaño del proyecto se acerca a las 100 mil líneas y consta de miles de archivos, sin contar las bibliotecas, entonces resulta problemático elegir el nombre correcto entre la mezcolanza de nombres de variables, métodos de otras clases y solo palabras de comentarios ( Tenía esto en vim, no sé, tal vez lo arreglaron). Las sugerencias inteligentes eliminan la necesidad de recordar los nombres de las funciones necesarias y sus parámetros. A menudo esto es simplemente físicamente imposible.

Hablando de proyectos. Todos los IDE tienen este concepto. Se adjuntan configuraciones, recursos, puede buscar, etc. En los editores está en mejor escenario directorio abierto sistema de archivos. A veces un poco más.

La integración con el depurador en los editores también deja mucho que desear. Las pruebas unitarias y el registro salvan hasta cierto punto la situación, pero a veces no es posible hacerlo sin un depurador.

Alguien podría argumentar que los editores modernos ya implementan muchas de estas funciones y no son de ninguna manera inferiores a los IDE más sofisticados. No estoy de acuerdo. En primer lugar, implementaciones completas No. No funcionan como deberían. En segundo lugar, instalar todo esto ya es una tarea bastante complicada. Sí, incluso la configuración de las funciones internas del editor ya no es trivial. ¡Intente, digamos, habilitar la numeración de líneas en emacs! Además, a menudo la funcionalidad necesaria se implementa mediante docenas de complementos, no está claro cómo interactúan entre sí. Y muchas veces también tienen decenas de versiones y ramas, que no siempre son compatibles, están configuradas de forma extraña, etc. Por supuesto, puede pasar un mes configurando e instalando todo (que también es la suerte de los entusiastas), pero esto solo acercará el editor al nivel IDE. Por ejemplo, volvamos a los mismos proyectos: probé Project en vim y proyectil en emacs y algunos otros complementos. Si Project cumple más o menos con mis requisitos (aunque en la última versión no pude crear ningún proyecto debido a errores), entonces Projectile me dejó una impresión extremadamente negativa.

Y, sin embargo, los editores tienen varias áreas de aplicación en las que son, como mínimo, competidores dignos de los entornos de desarrollo.

En primer lugar, funcionan mejor en proyectos pequeños. No tiene sentido cargar un recolector IDE para trabajar con un proyecto de 10 a 20 archivos. Es más fácil corregir de 3 a 4 líneas en el editor.

En segundo lugar, en algunas áreas específicas se nivelan todas las ventajas de los IDE. Por ejemplo, desarrollo de bajo nivel para Linux. No he hecho esto, pero a juzgar por la estructura del código y las preferencias de los desarrolladores (alrededor del 70% - emacs y clones, 25% - vim, 5% - algún tipo de exótico como jed), el IDE no tiene nada hacer allí. Todo código requerido, con el que trabaja, se recopila, por regla general, en uno o dos archivos, y no es necesario saltar a lo largo de todo el proyecto. Y el autocompletado no ayudará mucho al elegir entre una docena o dos funciones con nombres casi idénticos.

En tercer lugar, los editores pueden trabajar con algo más que código. Se puede utilizar todo su poder cuando se trabaja con archivos csv o xml. O algo más que a veces se hace necesario, como un artículo o una carta. Y no es necesario volver a aprender, buscar un programa conveniente o recordar teclas de acceso rápido: todo está a su alcance, todo es igual.

En cuarto lugar, la capacidad de trabajar con lenguajes para los que no existe un IDE sensato. Digamos que con el mismo rubí el medio ambiente no me ayudó mucho. SublimeText resultó ser suficiente. Aunque con gran proyecto rubí No funcionó, tal vez el IDE se mostraría allí.

Y en quinto lugar, la notoria posibilidad de expansión. Sujeto a disponibilidad buenos complementos¡el editor se vuelve muy conveniente! Además del placer específico de afinar continuamente tu instrumento principal y la sensación control total encima vale mucho.

Total

No me gustan mucho los IDE, aunque así lo parezca por el texto anterior. Los considero bastante monstruosos, con un montón de funciones innecesarias, lentos y exigentes en recursos. Y los mejores son bastante caros. Es más, creo usando IDE te relaja y te une a ti mismo. Para los editores, ocurre lo contrario. Además de accesibilidad y posibilidad de ajuste para adaptarlo a tus necesidades. Al menos vim y emacs. Al final simplemente me gustan. Por ejemplo, estoy escribiendo este artículo en Emacs.

Pero la industria (y la dirección) dicta sus propios requisitos. Si no utiliza un IDE, el rendimiento disminuirá significativamente. Pero nadie te dará media hora para encontrar una coma faltante en 10 mil líneas de código. Todo esto debería hacerse automáticamente y corregirse automáticamente. A veces también me gusta profundizar en el código sin herramientas, pero en el trabajo esto es una pérdida de tiempo inaceptable.

Después de todo mi ensayo y error, llegué a esta conclusión - editor Poder usarlo para desarrollo, pero con un IDE, después de cierto límite no se compara y usar un editor para algo por lo que te pagan es un lujo inasequible. Sí, si utiliza las prácticas de desarrollo adecuadas, diseña/documenta el código correctamente y sigue los estándares, puede solucionar las deficiencias inherentes de los editores. Pero no vivimos en un mundo ideal, por lo que utilizar un IDE es una necesidad, independientemente de nuestro deseo.

Hola a todos, me gustaría indicarles qué modo elegir para su disco duro para que funcione como debe.

Lo más probable es que este artículo sea adecuado para computadoras de tamaño mediano que pueden tener seleccionada la opción incorrecta. Pero por si acaso, compruébalo. Antes de eso, de alguna manera tampoco pensé en eso hasta que mi director me lo dijo.

En general, más cerca del punto) Primero debe ingresar al BIOS de su computadora. En diferentes versiones de BIOS diferentes botones entrada, generalmente del en computadoras y F2 en computadoras portátiles. Cuando la computadora arranca, generalmente dice presione F2 (Supr) para BIOS. Por si acaso, aquí tienes una pista:

Cómo ingresar al BIOS en diferentes versiones:

En tu computadora:

En una computadora portátil:

Una vez que haya iniciado sesión, debe buscar el parámetro Configuración Sata. En él debes seleccionar el modo AHCI.

Al mismo tiempo te cuento cuáles son estos modos:

Existen métodos de conexión IDE y SATA:

modo IDE

El conector IDE (Integrated Development Environment) es un conector anticuado (desarrollado en los años 80), como se puede ver en la imagen, anteriormente se utilizaba para conectar discos duros, disqueteras, CD-ROM, etc. que admitía dichos conectores. En aquellos días, por supuesto, este conector era increíblemente popular, pero ahora, por supuesto, solo queda recordarlo y cambiarlo en computadoras viejas.

Además de todo esto, incluso los propios cables son más cómodos y ocupan menos espacio. Los conectores satelital son compatibles con HotSwap y HotPlug, es decir. reemplazo en caliente, lo cual es conveniente en servidores. No es necesario reiniciar ni apagar.

AHCI es un modo Conexiones SATA dispositivos, así que llegué a la solución de todos los artículos. Gracias a este modo los dispositivos sata funcionan correctamente.

Para que todos tus dispositivos funcionen bien, debes seleccionarlo (por supuesto, si aún no lo has seleccionado).

Pero primero debe seleccionar el modo Achi en Windows; de lo contrario, no podrá iniciar Windows. Por supuesto que puedes intentarlo, pero lo más probable es... Por lo tanto, te mostraré cómo instalar el modo achi en Windows 7.

¿Cómo habilitar el modo ACHI?

Esto se hace usando el registro.

Presione inicio - ejecutar (o WIN + R).

Escribe regedit y presiona enter.

Aparecerá el Editor del Registro. En él seguimos el camino:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servicios\msahci


¡Hola! En miramos el dispositivo de disco duro en detalle, pero no dije nada específicamente sobre las interfaces, es decir, las formas de interacción entre el disco duro y otros dispositivos informáticos, o más específicamente, las formas de interactuar (conectar) el disco duro. y la computadora.

¿Por qué no lo dijiste? Sino porque este tema merece nada menos que un artículo completo. Por eso, hoy analizaremos en detalle los más populares en en este momento Interfaces del disco duro. Inmediatamente haré una reserva para que el artículo o publicación (lo que te resulte más conveniente) esta vez tendrá un tamaño impresionante, pero lamentablemente no puedes prescindir de él, porque si escribes brevemente, resultará completamente confuso.

Concepto de interfaz de disco duro de computadora

Primero, definamos el concepto de "interfaz". Discurso en lenguaje sencillo(y es a ellos a quienes me expresaré tanto como sea posible, porque el blog está destinado a gente corriente, como tú y como yo), interfaz: la forma en que interactúan los dispositivos entre sí y no sólo con los dispositivos. Por ejemplo, muchos de ustedes probablemente hayan oído hablar de la llamada interfaz "amigable" de un programa. ¿Qué significa? Esto significa que la interacción entre una persona y un programa es más sencilla, no requiriendo mucho esfuerzo por parte del usuario, en comparación con una interfaz “no amigable”. En nuestro caso, la interfaz es simplemente una forma de interacción entre el disco duro y la placa base del ordenador. Es un conjunto de líneas especiales y un protocolo especial (un conjunto de reglas de transferencia de datos). Es decir, puramente físicamente, es un cable (cable, alambre), en ambos lados del cual hay entradas, y en el disco duro y la placa base hay puertos especiales (lugares donde se conecta el cable). Así, el concepto de interfaz incluye el cable de conexión y los puertos ubicados en los dispositivos que conecta.

Bueno, ya para el “jugo” del artículo de hoy, ¡vamos!

Tipos de interacción entre discos duros y placa base de computadora (tipos de interfaces)

Entonces, primero en la fila tendremos el más "antiguo" (años 80), que ya no se encuentra en los discos duros modernos, esta es la interfaz IDE (también conocida como ATA, PATA).

IDE- Traducido del inglés "Integrated Drive Electronics", que literalmente significa "controlador integrado". Sólo más tarde se empezó a llamar IDE una interfaz para la transferencia de datos, ya que el controlador (ubicado en el dispositivo, generalmente en discos duros y unidades ópticas) y la placa base tenían que estar conectados con algo. (IDE) también se llama ATA (Adjunto de tecnología avanzada), resulta algo así como "Tecnología de conexión avanzada". El caso es que ATA - interfaz paralela transmisión de datos, por lo que pronto (literalmente, inmediatamente después del lanzamiento de SATA, que se analizará a continuación) pasó a llamarse PATA (Parallel ATA).

¿Qué puedo decir, aunque el IDE era muy lento ( rendimiento El canal de transferencia de datos osciló entre 100 y 133 megabytes por segundo en diferentes versiones del IDE (e incluso entonces, de manera puramente teórica, en la práctica mucho menos), sin embargo, le permitió conectar simultáneamente dos dispositivos a la placa base usando un cable.

Además, en el caso de conectar dos dispositivos a la vez, la capacidad de la línea se dividía a la mitad. Sin embargo, esto está lejos de ser el único inconveniente del IDE. El cable en sí, como se puede ver en la figura, es bastante ancho y, cuando esté conectado, ocupará la mayor parte. espacio libre en la unidad del sistema, lo que afectará negativamente el enfriamiento de todo el sistema en su conjunto. Considerándolo todo IDE ya está desactualizado moral y físicamente, por esta razón el conector IDE ya no se encuentra en muchas placas base modernas, aunque hasta hace poco todavía se instalaban (en la cantidad de 1 pieza) en placas base económicas y en algunas placas del segmento de precio medio.

La siguiente interfaz, no menos popular que el IDE en su época, es SATA (ATA serie), cuyo rasgo característico es la transmisión de datos en serie. Vale la pena señalar que en el momento de escribir este artículo, es el más extendido para su uso en PC.

Hay 3 variantes principales (revisiones) de SATA, que se diferencian entre sí en el rendimiento: rev. 1 (SATA I) - 150 Mb/s, rev. 2 (SATA II) - 300 Mb/s, rev. 3 (SATA III) - 600 Mb/s. Pero esto es sólo en teoría. En la práctica, la velocidad de escritura/lectura de los discos duros no suele superar los 100-150 MB/s, y la velocidad restante aún no es demandada y sólo afecta la velocidad de interacción entre el controlador y la memoria caché del disco duro (aumenta la velocidad del disco). velocidad de acceso).

Entre las innovaciones podemos destacar: compatibilidad con versiones anteriores de todas las versiones de SATA (un disco con conector SATA rev. 2 se puede conectar a una placa base con conector SATA rev. 3, etc.), apariencia mejorada y facilidad de conexión/desconexión el cable, mayor en comparación con la longitud del cable IDE (1 metro como máximo, frente a 46 cm en la interfaz IDE), soporte Funciones NCQ a partir de la primera revisión. Me apresuro a complacer a los propietarios de dispositivos antiguos que no son compatibles con SATA: existen adaptadores de PATA a SATA, esta es una forma real de salir de la situación, permitiéndole evitar gastar dinero en la compra de una nueva placa base o nuevo duro disco.

Además, a diferencia de PATA, interfaz sata Se proporcionan discos duros “intercambiables en caliente”, lo que significa que cuando se enciende la unidad del sistema informático, puede conectar o desconectar discos duros. Es cierto que para implementarlo necesitarás profundizar un poco en Configuración del BIOS y habilite el modo AHCI.

Siguiente en la fila - eSATA (SATA externo)- fue creado en 2004, la palabra "externo" indica que se utiliza para conectar duro externo discos. Apoya " intercambio en caliente"discos. La longitud del cable de interfaz se ha aumentado en comparación con SATA; la longitud máxima ahora es de dos metros. eSATA no es físicamente compatible con SATA, pero tiene el mismo ancho de banda.

Pero eSATA está lejos de ser la única forma de conectar dispositivos externos a una computadora. Por ejemplo alambre de fuego- interfaz serial de alta velocidad para conexión dispositivos externos, incluido el disco duro.

Admite discos duros intercambiables en caliente. El rendimiento es comparable al de USB 2.0 y con la llegada del USB 3.0 - incluso pierde velocidad. Sin embargo, tiene la ventaja de que FireWire es capaz de proporcionar transmisión de datos isócrona, lo que facilita su uso en vídeo digital, ya que permite transmitir datos en tiempo real. Claro, FireWire es popular, pero no tanto como, por ejemplo, USB o eSATA. Rara vez se utiliza para conectar discos duros; en la mayoría de los casos, FireWire se utiliza para conectar varios dispositivos multimedia.

USB (bus serie universal), quizás la interfaz más común utilizada para conectar discos duros externos, unidades flash y unidades de estado sólido(SSD). Como en el caso anterior, se admite el "intercambio en caliente", una longitud máxima bastante grande cable de conexión- hasta 5 metros en caso Uso de USB 2.0 y hasta 3 metros, si se utiliza USB 3.0. Probablemente puedas alargar el cable, pero en este caso trabajo estable Los dispositivos estarán en duda.

La velocidad de transferencia de datos del USB 2.0 es de aproximadamente 40 MB/s, que generalmente es baja. Sí, por supuesto, para el trabajo diario con archivos, un ancho de banda de canal de 40 Mb/s es suficiente, pero en cuanto hablamos de trabajar con archivos grandes, inevitablemente comenzarás a mirar hacia algo más rápido. Pero resulta que hay una salida, y su nombre es USB 3.0, cuyo ancho de banda, en comparación con su predecesor, se ha multiplicado por 10 y es de unos 380 Mb/s, es decir, casi lo mismo que SATA II, incluso un poquito más.

Hay dos tipos de clavijas de cable USB, tipo "A" y tipo "B", ubicadas en extremos opuestos del cable. Tipo "A" - controlador (placa base), tipo "B" - dispositivo conectado.

USB 3.0 (Tipo "A") es compatible con USB 2.0 (Tipo "A"). Los tipos "B" no son compatibles entre sí, como se puede ver en la figura.

Rayo(Pico de Luz). En 2010, Intel demostró la primera computadora con esta interfaz, y un poco más tarde, nada menos que empresa famosa Manzana. Thunderbolt es bastante bueno (como no podría ser de otra manera, Apple sabe en qué vale la pena invertir), ¿vale la pena hablar de su soporte para funciones como: el notorio "intercambio en caliente", conexión simultánea con varios dispositivos a la vez, realmente "enorme"? ”velocidad de transferencia de datos (20 veces más rápido que USB 2.0).

La longitud máxima del cable es de sólo 3 metros (aparentemente no es necesario más). Sin embargo, a pesar de todas las ventajas enumeradas, Thunderbolt aún no es "masivo" y se utiliza principalmente en dispositivos caros.

Sigamos adelante. A continuación tenemos un par de interfaces muy similares: SAS y SCSI. Su similitud radica en el hecho de que ambos se utilizan principalmente en servidores donde se requiere rendimiento alto y el menor tiempo posible de acceso al disco duro. Sin embargo, también hay una otra cara de la moneda: todas las ventajas de estas interfaces se ven compensadas por el precio de los dispositivos que las admiten. discos duros, el soporte SCSI o SAS es un orden de magnitud más caro.

SCSI(Interfaz de sistema de computadora pequeña): una interfaz paralela para conectar varios dispositivos externos (no solo discos duros).

Fue desarrollado y estandarizado incluso un poco antes que la primera versión de SATA. EN versión nueva SCSI tiene soporte intercambiable en caliente.

SAS(Serial Attached SCSI), que reemplazó a SCSI, se suponía que resolvería una serie de deficiencias de este último. Y debo decir que lo logró. El hecho es que, debido a su "paralelismo", SCSI usaba un bus común, por lo que solo uno de los dispositivos podía funcionar con el controlador a la vez; SAS no tiene este inconveniente;

Además, es compatible con versiones anteriores de SATA, lo que definitivamente es una gran ventaja. Desafortunadamente, el costo de los discos duros con interfaz SAS se acerca al costo de los discos duros SCSI, pero no hay forma de deshacerse de esto; hay que pagar por la velocidad;

Si aún no estás cansado, te sugiero que consideres uno más. manera interesante Conexiones de disco duro - NAS(Almacenamiento conectado a la red). Actualmente sistemas de red almacenamiento de datos (NAS) tiene gran popularidad. Esencialmente esto es computadora separada, una especie de miniservidor encargado de almacenar datos. Se conecta a otra computadora a través de cable de red y se controla desde otra computadora a través de un navegador normal. Todo esto es necesario en los casos en que se requiere un gran espacio en disco, que utilizan varias personas a la vez (en la familia, en el trabajo). Datos de almacenamiento en red transmitido a las computadoras de los usuarios ya sea a través de un cable normal (Ethernet) o mediante Wi-Fi. En mi opinión, algo muy cómodo.

Creo que eso es todo por hoy. Espero que te haya gustado el material, te sugiero que te suscribas a las actualizaciones del blog para no perderte nada (formulario en la esquina superior derecha) y nos vemos en los próximos artículos del blog.

Y con su apariencia recibió el nombre PATA(ATA paralelo).

Historia

Cables ATA (IDE): 40 hilos en la parte superior, 80 hilos con salida de cable en la parte inferior

El nombre preliminar de la interfaz era Accesorio PC/AT(“Conexión PC/AT”), ya que estaba pensado para conectarse al bus ISA de 16 bits, entonces conocido como En autobús. EN versión final el nombre fue cambiado a Accesorio AT para evitar problemas con las marcas.

La versión original del estándar fue desarrollada en 1986 por Western Digital y, por razones de marketing, se llamó IDE(Inglés: Integrated Drive Electronics - “electrónica integrada en el variador”). Se destacó una innovación importante: el controlador de la unidad está ubicado en la propia unidad, y no en forma de una tarjeta de expansión separada, como en el estándar anterior ST-506 y las entonces existentes interfaces SCSI y ST-412. Esto hizo posible mejorar las características de las unidades (debido a la distancia más corta al controlador), simplificar su control (ya que el controlador de canal IDE se abstrajo de los detalles del funcionamiento de la unidad) y reducir el costo de producción (el controlador de la unidad podría diseñarse sólo para “su” unidad, y no para todas las unidades posibles). Cabe señalar que el controlador de canal IDE se llama más correctamente adaptador de host, ya que pasó de controlar directamente el disco a intercambiar datos con él a través de un protocolo.

El estándar ATA define la interfaz entre el controlador y la unidad, así como los comandos transmitidos a través de ella.

La interfaz tiene 8 registros que ocupan 8 direcciones en el espacio de E/S. El ancho del bus de datos es de 16 bits. El número de canales presentes en el sistema puede ser superior a 2. Lo principal es que las direcciones de los canales no se superpongan con las direcciones de otros dispositivos de E/S. Cada canal puede conectar 2 dispositivos (maestro y esclavo), pero sólo un dispositivo puede funcionar a la vez.

El principio de direccionamiento CHS está en su nombre. Primero, el posicionador instala el bloque de cabezal en la pista requerida (Cilindro), después de lo cual se selecciona el cabezal requerido (Cabeza), y luego se lee la información del sector requerido (Sector).

Estándar EIDE(IDE mejorado en inglés - "IDE extendido"), que apareció después de IDE, permitía el uso de unidades con una capacidad superior a 528 MB (504 MiB), hasta 8,4 GB. Aunque estas abreviaturas se originaron como nombres comerciales y no como nombres oficiales de la norma, los términos IDE Y EIDE a menudo se utiliza en lugar del término ATA. Desde la introducción de la norma en 2003 ATA serie(“serial ATA”) el ATA tradicional comenzó a llamarse ATA paralelo, refiriéndose al método de transmisión de datos a través de un cable paralelo de 40 u 80 núcleos.

Esta interfaz se utilizó inicialmente con discos duros, pero luego el estándar se amplió para funcionar con otros dispositivos, principalmente usando medios removibles. Dichos dispositivos incluyen unidades de CD-ROM y DVD-ROM, unidades de cinta, así como disquetes de alta capacidad como discos ZIP y flopticos (use cabezales magnéticos guiados por láser) (LS-120/240). Además, del archivo de configuración del kernel de FreeBSD podemos concluir que incluso las unidades de disquete (disquetes) estaban conectadas al bus ATAPI. Este estándar extendido se llama Interfaz de paquete adjunto de tecnología avanzada(ATAPI), y por lo tanto el nombre completo del estándar parece ATA/ATAPI. ATAPI es casi completamente idéntico a SCSI a nivel de comando y, de hecho, es "SCSI sobre cable ATA".

Inicialmente, las interfaces para conectar unidades de CD-ROM no estaban estandarizadas y eran desarrollos exclusivos de los fabricantes de unidades. Como resultado, para conectar un CD-ROM era necesario instalar una tarjeta de expansión separada específica de un fabricante en particular, por ejemplo, para Panasonic (había al menos 5 opciones de interfaz específicas diseñadas para conectar un CD-ROM). Algunas versiones de tarjetas de sonido, por ejemplo Sound Blaster, estaban equipadas con estos puertos (a menudo, la unidad de CD-ROM y la tarjeta de sonido se suministraban como un kit multimedia). La llegada de ATAPI permitió estandarizar todos estos periféricos y permitir conectarlos a cualquier controlador al que se pueda conectar un disco duro.

Otra etapa importante en el desarrollo de ATA fue la transición de PIO (entrada/salida programada) a DMA (acceso directo a memoria). Cuando se usaba PIO, la lectura de datos del disco estaba controlada por el procesador central de la computadora, lo que llevó a aumento de carga en el procesador y ralentización en general. Debido a esto, las computadoras que usaban la interfaz ATA generalmente realizaban operaciones relacionadas con el disco más lentamente que las computadoras que usaban SCSI y otras interfaces. La introducción de DMA redujo significativamente el tiempo de CPU dedicado a las operaciones de disco.

En esta tecnología, la propia unidad controla el flujo de datos, leyendo datos dentro o desde la memoria casi sin participación del procesador, que solo emite comandos para realizar una u otra acción. Al mismo tiempo disco duro emite una señal de solicitud DMARQ para una operación DMA al controlador. Si la operación DMA es posible, el controlador emite una señal DMACK y el disco duro comienza a enviar datos al primer registro (DATOS), desde donde el controlador lee datos en la memoria sin la participación del procesador.

La operación DMA es posible si el modo es compatible simultáneamente con el BIOS, el controlador y el sistema operativo; de lo contrario, solo es posible el modo PIO.

En el desarrollo posterior del estándar (ATA-3), se introdujo un modo adicional UltraDMA 2 (UDMA 33).

Este modo tiene las características de temporización del Modo 2 DMA, pero los datos se transmiten en los flancos ascendente y descendente de la señal DIOR/DIOW. Esto duplica la velocidad de transferencia de datos a través de la interfaz. También se ha introducido un control de paridad CRC, que aumenta la fiabilidad de la transferencia de información.

En la historia del desarrollo de ATA, hubo una serie de barreras asociadas con la organización del acceso a los datos. La mayoría de estas barreras se deben a sistemas modernos Se han superado las técnicas de direccionamiento y programación. Estos incluyen restricciones de tamaño máximo de disco de 504 MiB, aproximadamente 8 GiB, aproximadamente 32 GiB y 128 GiB. Existían otras barreras, principalmente relacionadas con los controladores de dispositivos y la organización de E/S en sistemas operativos que no cumplían con los estándares ATA.

La especificación ATA original proporcionaba un modo de direccionamiento de 28 bits. Esto permitió direccionar 2 28 (268,435,456) sectores de 512 bytes cada uno, dando capacidad máxima en 137 GB (128 GiB). En las PC estándar, el BIOS admitía hasta 7,88 GiB (8,46 GB), lo que permitía un máximo de 1024 cilindros, 256 cabezales y 63 sectores. Esta limitación en la cantidad de cilindros/culatas/sectores CHS (Cylinder-Head-Sector), combinada con el estándar IDE, resultó en una limitación de espacio direccionable de 504 MiB (528 MB). Para superar esta limitación, se introdujo el esquema de direccionamiento LBA (Logical Block Address), que permite direccionar hasta 7,88 GiB. Con el tiempo, esta limitación se eliminó, lo que hizo posible abordar primero 32 GiB y luego los 128 GiB, utilizando los 28 bits (en ATA-4) para abordar el sector. La escritura de un número de 28 bits se organiza escribiendo sus partes en los registros correspondientes de la unidad (de 1 a 8 bits en el cuarto registro, 9-16 en el quinto, 17-24 en el sexto y 25-28 en el séptimo). ).

El direccionamiento del registro se organiza mediante tres líneas de dirección DA0-DA2. El primer registro, dirección 0, es de 16 bits y se utiliza para transferir datos entre el disco y el controlador. Los registros restantes son de 8 bits y se utilizan para el control.

Las últimas especificaciones ATA suponen un direccionamiento de 48 bits, ampliando así límite posible hasta 128 PiB (144 petabytes).

Estas restricciones de tamaño pueden manifestarse en el hecho de que el sistema piensa que la capacidad del disco es menor que su valor real, o incluso se niega a arrancar y se cuelga en la etapa de inicialización de los discos duros. En algunos casos, el problema se puede solucionar actualizando el BIOS. a otros posible solución es el uso programas especiales, como Ontrack DiskManager, que cargan su controlador en la memoria antes de cargar el sistema operativo. La desventaja de estas soluciones es que se utiliza una partición de disco no estándar, en la que las particiones del disco son inaccesibles si se inicia, por ejemplo, desde un disquete de inicio de DOS normal. Sin embargo, muchos sistemas operativos modernos (a partir de Windows NT4 SP3) pueden funcionar con discos más grandes, incluso si el BIOS de la computadora no detecta correctamente este tamaño.

interfaz ATA

Para conectar discos duros con interfaz PATA, se suele utilizar un cable de 40 hilos (también llamado cable). Cada cable generalmente tiene dos o tres conectores, uno de los cuales se conecta al conector del controlador en la placa base (en las computadoras más antiguas, este controlador estaba ubicado en una tarjeta de expansión separada) y uno o dos más se conectan a las unidades. En un momento dado, el cable P-ATA transmite 16 bits de datos. A veces existen cables IDE que permiten conectar tres unidades a un canal IDE, pero en este caso una de las unidades funciona en modo de solo lectura.

Distribución de pines ATA paralelo
Contacto Objetivo Contacto Objetivo
1 Reiniciar 2 Suelo
3 Datos 7 4 Datos 8
5 Datos 6 6 Datos 9
7 Datos 5 8 Datos 10
9 Datos 4 10 Datos 11
11 Datos 3 12 Datos 12
13 Datos 2 14 Datos 13
15 Datos 1 16 Datos 14
17 Datos 0 18 Datos 15
19 Suelo 20 Llave
21 DDRQ 22 Suelo
23 Escritura de E/S 24 Suelo
25 Lectura de E/S 26 Suelo
27 COI HRDY 28 Seleccionar cable
29 DDACK 30 Suelo
31 IRQ 32 Sin conexión
33 Dirección 1 34 GPIO_DMA66_Detectar
35 Dirección 0 36 Dirección 2
37 Selección de chip 1P 38 Selección de chip 3P
39 Actividad 40 Suelo

Durante mucho tiempo, el cable ATA contaba con 40 conductores, pero con la introducción del UltraDMA/66 (UDMA4) apareció su versión de 80 hilos. Todos los conductores adicionales son conductores de tierra que se alternan con conductores de información. Así, en lugar de siete conductores de tierra, hay 47. Esta alternancia de conductores reduce el acoplamiento capacitivo entre ellos, reduciendo así la interferencia mutua. El acoplamiento capacitivo es un problema a altas velocidades de transmisión, por lo que esta innovación fue necesaria para garantizar el funcionamiento adecuado de la especificación especificada. UDMA4 velocidad de transferencia de 66 MB/s (megabytes por segundo). Modos más rápidos UDMA5 Y UDMA6 También requiere cable de 80 hilos.

Aunque el número de conductores se ha duplicado, el número de contactos sigue siendo el mismo, al igual que la apariencia de los conectores. El cableado interno, por supuesto, es diferente. Los conectores del cable de 80 hilos deben conectarse a gran número conductores de puesta a tierra para un pequeño número contactos de puesta a tierra, mientras que en un cable de 40 hilos los conductores están conectados cada uno a su propio contacto. Los cables de 80 hilos suelen tener conectores de diferentes colores (azul, gris y negro), a diferencia de los cables de 40 hilos, donde normalmente todos los conectores son del mismo color (normalmente negro).

El estándar ATA siempre ha estado establecido longitud máxima cable igual a 45,7 cm (18 pulgadas). Esta limitación dificulta la conexión de dispositivos en cajas grandes o la conexión de varias unidades a una sola computadora, y elimina casi por completo la posibilidad de utilizar unidades PATA como unidades externas. Aunque se encuentran ampliamente disponibles cables de mayor longitud, tenga en cuenta que no son estándar. Lo mismo puede decirse de los cables “redondos”, que también se utilizan mucho. El estándar ATA describe sólo cables planos con características específicas de completa y capacidad. Esto, por supuesto, no significa que otros cables no funcionen, pero en cualquier caso, el uso de cables no estándar debe tratarse con precaución.

Si dos dispositivos están conectados al mismo bucle, uno de ellos generalmente se llama principal(maestro de inglés), y el otro - esclavo(Esclavo inglés). Normalmente, el dispositivo maestro aparece antes que el dispositivo esclavo en la lista de discos que figuran en el BIOS o el sistema operativo de la computadora. En BIOS más antiguos (486 y anteriores), las unidades a menudo se designaban incorrectamente con letras: "C" para maestra y "D" para esclava.

Si solo hay una unidad en un bucle, en la mayoría de los casos debe configurarse como maestra. Algunos discos (particularmente los fabricados por Western Digital) tienen entorno especial, llamado soltero(es decir, "una unidad por cable"). Sin embargo, en la mayoría de los casos, la única unidad del cable también puede funcionar como esclava (esto ocurre a menudo cuando se conecta un CD-ROM a un canal separado).

Una configuración llamada selección de cable se describió como opcional en la especificación ATA-1 y se ha vuelto común desde ATA-5 porque elimina la necesidad de restablecer los puentes de la unidad para cualquier reconexión. Si la unidad está configurada en modo de selección de cable, se configura automáticamente como maestra o esclava dependiendo de su ubicación en el bucle. Para poder determinar esta ubicación, el bucle debe estar con muestreo de cable. Para tal cable, el pin 28 (CSEL) no está conectado a uno de los conectores ( gris, generalmente promedio). El controlador pone a tierra este pin. Si el variador ve que el contacto está conectado a tierra (es decir, es 0 lógico), se configura como maestro; en caso contrario (estado de alta impedancia) se configura como esclavo.

En la época de los cables de 40 hilos, era una práctica común instalar la selección de cables simplemente cortando el conductor 28 entre los dos conectores que se conectaban a las unidades. En este caso, la unidad esclava estaba al final del cable y la unidad maestra estaba en el medio. Esta ubicación incluso se estandarizó en versiones posteriores de la especificación. Cuando se coloca un solo dispositivo en un cable, esta colocación resulta en un trozo de cable innecesario en el extremo, lo cual no es deseable, tanto por razones de comodidad como físicas: este trozo conduce a la reflexión de la señal, especialmente a altas frecuencias. .

Los cables de 80 hilos introducidos para UDMA4 no tienen estas desventajas. Ahora el dispositivo maestro siempre está al final del bucle, por lo que si solo hay un dispositivo conectado, no terminará con este trozo de cable innecesario. Su selección de cables es "de fábrica": se realiza en el propio conector simplemente por exclusión. este contacto. Dado que los bucles de 80 cables requerían sus propios conectores de todos modos, la adopción generalizada de esto no fue un gran problema. La norma también exige el uso de conectores de diferentes colores para que sean más fáciles de identificar tanto por el fabricante como por el ensamblador. El conector azul es para conectar al controlador, el conector negro es para el dispositivo maestro y el conector gris es para el esclavo.

Los términos "maestro" y "esclavo" fueron tomados de la electrónica industrial (donde este principio se usa ampliamente en la interacción de nodos y dispositivos), pero en en este caso son incorrectos y por lo tanto no se utilizan en versión actual Estándar ATA. Es más correcto llamar a los discos maestro y esclavo respectivamente. dispositivo 0 (dispositivo 0) Y dispositivo 1 (dispositivo 1). Existe un mito común de que el disco maestro controla el acceso de los discos al canal. De hecho, el controlador (que, a su vez, controla el controlador del sistema operativo) controla el acceso al disco y el orden de ejecución de los comandos. Es decir, de hecho, ambos dispositivos son esclavos en relación al controlador.

23/04/17 28.9K

Independientemente de si eres desarrollador experimentado o simplemente aprender a programar, es importante conocer todas las funciones integradas nuevas y existentes. entornos de desarrollo. A continuación se muestra una lista de los 10 IDE más populares.

¿En qué se diferencia un IDE de un editor de texto?

Un IDE es más que un simple editor de texto. Mientras que los editores de texto para código como Sublime o Atom ofrecen muchas funciones convenientes, como resaltado de sintaxis, una interfaz personalizable y herramientas de navegación avanzadas, solo le permiten escribir código. Para crear aplicaciones que funcionen, necesita como mínimo un compilador y un depurador.

El IDE incluye estos componentes, así como muchos otros. Algunos de ellos vienen con herramientas adicionales para la automatización, prueba y visualización del proceso de desarrollo. El término "entorno de desarrollo integrado" significa que se proporciona todo lo necesario para convertir el código en aplicaciones funcionales.

Consulte la lista a continuación de las características y desventajas de cada uno de los 10 mejores IDE.

1.Microsoft Visual Studio


Microsoft Visual Studio es entorno de desarrollo integrado, cuyo precio varía de $699 a $2900. Muchas versiones de este IDE son capaces de crear todo tipo de programas, desde aplicaciones web hasta aplicaciones móviles y videojuegos. esta linea software Incluye muchas herramientas para pruebas de compatibilidad. Su flexibilidad hace de Visual Studio una gran herramienta para estudiantes y profesionales.

Lenguajes soportados: Ajax, ASP.NET, DHTML, JavaScript, JScript, Visual Basic, Visual C#, Visual C++, Visual F#, XAML y otros.

Peculiaridades:

  • Una enorme biblioteca de extensiones que está en constante crecimiento;
  • IntelliSense;
  • Panel personalizable y ventanas acoplables;
  • Jerarquía de archivos y flujo de trabajo simple;
  • Estadísticas de seguimiento del rendimiento en tiempo real;
  • Herramientas de automatización;
  • Fácil refactorización e inserción de fragmentos de código;
  • Soporte de pantalla dividida;
  • Lista de errores que facilita la depuración;
  • Validación de validación al implementar aplicaciones usando ClickOnce. Instalador de Windows o Asistente de publicación.

Desventajas: dado que Visual Studio es un IDE muy pesado, requiere importantes recursos para abrir y ejecutar aplicaciones. Por lo tanto, en algunos dispositivos, al ingresar cambios simples puede llevar mucho tiempo. Para tareas sencillas es recomendable utilizar un editor compacto o herramienta de desarrollo PHP.

2. NetBeans


Entorno de desarrollo gratuito y de código abierto. Adecuado para editar proyectos existentes o crear otros nuevos. NetBeans ofrece una interfaz sencilla de arrastrar y soltar que viene con una gran cantidad de plantillas de proyecto convenientes. El entorno se utiliza principalmente para desarrollar aplicaciones Java, pero se pueden instalar paquetes que admitan otros lenguajes.

Lenguajes de programación soportados: C, C++, C++ 11, Fortan, HTML 5, Java, PHP y otros.

Peculiaridades:

  • Interfaz intuitiva de arrastrar y soltar;
  • Bibliotecas dinámicas y estáticas;
  • Integración de múltiples sesiones del depurador GNU con soporte de código;
  • Capacidad para implementar implementación remota;
  • Compatible con plataformas Windows, Linux, OS X y Solaris;
  • soporte del kit de herramientas Qt;
  • Soporte de Fortan y Assembler;
  • Admite una variedad de compiladores, incluidos CLang/LLVM, Cygwin, GNU, MinGW y Oracle Solaris Studio.

Desventajas: este entorno de desarrollo gratuito consume mucha memoria, por lo que puede resultar lento en algunas PC.

3. PyCharm


PyCharm es desarrollado por el equipo Jet Brains. Los usuarios reciben versión gratuita Edición comunitaria, prueba gratuita de 30 días Edición profesional y suscripción anual por $213 - $690 en Versión profesional Edición. El completo soporte y análisis de código hacen de PyCharm el mejor IDE para programadores de Python.

Idiomas soportados: AngularJS, Coffee Script, CSS, Cython, HTML, JavaScript, Node.js, Python, TypeScript.

Peculiaridades:

  • Compatibilidad del sistema operativo sistemas windows, Linux y Mac OS;
  • Viene con Django IDE;
  • Se integra fácilmente con Git, Mercurial y SVN;
  • Interfaz personalizable con emulación VIM;
  • Depuradores para JavaScript, Python y Django;
  • Soporte de Google App Engine.

Desventajas: los usuarios se quejan de que este entorno de desarrollo de Python contiene algunos errores, como que la función de autocompletar no funciona ocasionalmente, lo que puede causar algunos inconvenientes.

4. IDEA IntelliJ


Otro IDE desarrollado por Jet Brains. Ofrece a los usuarios una edición comunitaria gratuita. Prueba gratuita de 30 días Edición definitiva y una suscripción anual a la Ultimate Edition por $533 - $693. IntelliJ IDEA es compatible con Java 8 y Java EE 7, tiene amplias herramientas para desarrollar aplicaciones móviles y tecnologías empresariales para varias plataformas. En cuanto a precio, IntelliJ es una gran opción debido a su enorme lista de funciones.

Lenguajes de programación soportados: AngularJS, CoffeeScript, HTML, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass, TypeScript y otros.

Peculiaridades:

  • Editor avanzado de bases de datos y diseñador UML;
  • Admite múltiples sistemas de construcción;
  • Interfaz de usuario de ejecución de prueba de aplicación;
  • integración de Git;
  • Soporte para Google App Engine, Grails, GWT, Hibernate, Java EE, OSGi, Play, Spring, Struts y otros;
  • Herramientas integradas de implementación y depuración para la mayoría de los servidores de aplicaciones;
  • Editores de texto inteligentes para HTML, CSS y Java;
  • Control de versiones integrado;
  • AIR Mobile con soporte para Android e iOS.

Desventajas: este entorno Desarrollo de JavaScript requiere tiempo y esfuerzo para estudiar, por lo que puede que no sea la mejor opción para principiantes. Tiene muchas combinaciones de teclas de acceso rápido que sólo necesitas recordar. Algunos usuarios se quejan de la interfaz torpe.

5.Eclipse


Editor de código abierto gratuito y flexible. Puede resultar útil tanto para principiantes como para profesionales. Creado originalmente como un entorno para el desarrollo de Java, hoy Eclipse ha amplia gama posibilidades gracias a una gran cantidad de complementos y extensiones. Además de las herramientas de depuración y la compatibilidad con Git/CVS, versión estándar Eclipse viene con Java y herramientas de desarrollo de complementos. Si eso no es suficiente para usted, hay muchos otros paquetes disponibles: herramientas para diagramar, modelar, generar informes, probar y crear GUI. El cliente Eclipse Marketplace brinda a los usuarios acceso a un repositorio de complementos e información.

Idiomas soportados: C, C++, Java, Perl, PHP, Python, Ruby y otros.

Peculiaridades:

  • Muchos soluciones de paquete, brindando soporte multilingüe;
  • Mejoras IDE de Java, como vistas jerárquicas de proyectos anidados;
  • Interfaz orientada a tareas que incluye notificaciones en la bandeja del sistema;
  • Generación automática de informes de errores;
  • Opciones del kit de herramientas para proyectos JEE;
  • Integración con JUnit.

Desventajas: Muchas de las opciones en este entorno de desarrollo pueden resultar intimidantes para los principiantes. Eclipse no tiene todas las características de IntelliJ IDEA, pero es un IDE de código abierto.

6. Código::Bloques


Otra herramienta popular de código abierto. Un IDE flexible que se ejecuta de manera consistente en todas las plataformas, lo que lo hace excelente para los desarrolladores que cambian con frecuencia entre espacios de trabajo. El marco integrado le permite personalizar este IDE para adaptarlo a sus necesidades.

Idiomas soportados: C, C++, Fortran.

Peculiaridades:

  • Interfaz sencilla con pestañas de archivos abiertos;
  • Compatible con Linux, Mac y Windows;
  • Escrito en C++;
  • No requiere lenguajes de programación interpretados o propietarios;
  • Muchos complementos integrados y personalizables;
  • Admite múltiples compiladores, incluidos GCC, MSVC++, clang y otros;
  • Depurador con soporte para puntos de interrupción;
  • Editor de texto con resaltado de sintaxis y función de autocompletar;
  • Herramientas externas personalizables;
  • Herramientas sencillas de gestión de tareas, ideales para la colaboración.

Desventajas: entorno de desarrollo C relativamente compacto, por lo que no es adecuado para grandes proyectos. Este gran herramienta para principiantes, pero los programadores avanzados pueden sentirse decepcionados por sus limitaciones.

7. Aptana Estudio 3


El IDE de código abierto más potente. Aptana Studio 3 ha mejorado significativamente con respecto a versiones anteriores. Admite la mayoría de las especificaciones del navegador. Por lo tanto, los usuarios de este IDE pueden desarrollar, probar e implementar rápidamente aplicaciones web usándolo.

Idiomas soportados: HTML5, CSS3, JavaScript, Ruby, Rails, PHP y Python.

Peculiaridades:

  • Sugerencias para CSS, HTML, JavaScript, PHP y Ruby;
  • Asistente de implementación con configuración sencilla y múltiples protocolos, incluidos Capistrano, FTP, FTPS y SFTP;
  • La capacidad de instalar automáticamente aplicaciones Ruby y Rails creadas en servidores de alojamiento;
  • Depuradores integrados para Ruby, Rails y JavaScript;
  • integración de Git;
  • Fácil acceso a una terminal de línea de comandos con cientos de comandos;
  • Cadena comandos personalizados para ampliar las oportunidades.

Desventajas: Tiene problemas de estabilidad y es lento. Por lo tanto, los desarrolladores profesionales pueden preferir un entorno de desarrollo HTML más potente.

8. Komodo


Ofrece una prueba gratuita de 21 días, versión completa cuesta $99 – $1615 dependiendo de la edición y la licencia. Komodo es compatible con la mayoría de los principales lenguajes de programación. La interfaz fácil de usar permite una edición avanzada y pequeñas funciones útiles como la verificación de sintaxis y la depuración en un solo paso hacen de Komodo uno de los IDE más populares para el desarrollo web y móvil.

Idiomas soportados: CSS, Go, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby, Tcl y otros.

Peculiaridades:

  • Interfaz personalizable de múltiples ventanas;
  • Integración de control de versiones para Bazaar, CVS, Git, Mercurial, Perforce y Subversion;
  • Creación de perfiles de código Python y PHP;
  • Posibilidad de despliegue en la nube gracias a Stackato PaaS;
  • Depuración gráfica para NodeJS, Perl, PHP, Python, Ruby y Tcl;
  • Finalización y refactorización automáticas;
  • Rendimiento constante en plataformas Mac, Linux y Windows

Desventajas: la versión gratuita del entorno de desarrollo de software no incluye todas las funciones. Al mismo tiempo, la versión premium claramente vale la pena.

9. Mina de rubí


Otro IDE premium desarrollado por Jet Brains. Ofrecido Prueba gratuita de 30 días La versión de prueba, la versión completa cuesta entre $210 y $687 por año. Navegación cómoda La organización lógica del flujo de trabajo y la compatibilidad con la mayoría de las plataformas hacen de RubyMine una de las herramientas populares para los desarrolladores.

Idiomas soportados: CoffeeScript, CSS, HAML, HTML, JavaScript, LESS, Ruby y Rails, Ruby y SASS.

Peculiaridades:

  • Fragmentos de código, llenado automático y refactorización automática;
  • Árbol de proyectos, que le permite analizar código rápidamente;
  • Diagrama del modelo de rieles;
  • Ver Proyecto de Rieles;
  • RubyMotion admite el desarrollo de iOS;
  • El soporte de pila incluye Bundler, pik, rbenv, RVM y otros;
  • Depuradores de JavaScript, CoffeeScript y Ruby;
  • Integración con CVS, Git, Mercurial, Perforce y Subversion.

Desventajas del entorno de desarrollo: para que RubyMine funcione sin problemas, su computadora requiere al menos 4 GB de RAM. Algunos usuarios también se quejan de la falta de opciones de personalización de la GUI.

10.Xcódigo


Un conjunto de herramientas para crear aplicaciones para iPad, iPhone y Mac. La integración con Cocoa Touch simplifica el trabajo en el entorno Apple, puede habilitar servicios como Centro de juegos o Passbook, con un solo clic. La integración incorporada con el sitio web del desarrollador le ayuda a crear aplicaciones completamente funcionales sobre la marcha.

Idiomas soportados: AppleScript, C, C++, Java, Objective-C.

Peculiaridades:

  • Elementos interfaz de usuario se puede vincular fácilmente al código de implementación;
  • El compilador LLVM de Apple escanea el código y proporciona recomendaciones para resolver problemas de rendimiento;
  • La barra de navegación le permite moverse rápidamente entre secciones;
  • Interface Builder le permite crear prototipos sin escribir código;
  • La interfaz de usuario y el código fuente se pueden conectar a prototipos de interfaz de usuario complejos en tan solo unos minutos;
  • El editor de versiones incluye archivos de registro e historial;
  • Distribuir y combinar procesos es conveniente para el trabajo en equipo;
  • Test Navigator le permite probar aplicaciones rápidamente en cualquier momento durante el desarrollo;
  • Crea, analiza, prueba y archiva proyectos automáticamente gracias a la integración con el servidor OX X;
  • El flujo de trabajo se puede personalizar con pestañas, comportamientos y fragmentos;
  • Biblioteca de herramientas y directorio de recursos.

Desventajas del entorno de desarrollo: para ejecutar Xcode necesita una computadora de Manzana. y para descargar aplicaciones creadas en Apple Store: licencia de desarrollador.




Arriba