CS50 Curso MOOC de Harvard
Lo que me permitiรณ descubrir esta nueva funcionalidad
Entre las cosas que hago estos dรญas, estรก un curso MOOC dictado por Harvard, CS50 a travรฉs de edX.org, no sรฉ cuantos de uds lo conocen pero se los recomiendo si su deseo es aprender a programar (viene con certificado gratis incluido, y si no te gusta la programaciรณn hay una gran cantidad de opciones para escoger), bueno el asunto es que ellos te proveen de una mรกquina virtual para que puedas trabajar y con todas las herramientas incluidas que ellos ya han preparado para ti, asรญ no tienes que preocuparte por otra cosa sino por aprender.
Sin embargo, yo nunca he sido muy fan de las mรกquinas virtuales, asรญ que leyendo por aquรญ y por allรก y gracias al hermoso repositorio de AUR ya tengo instalado lo bรกsico. Lo curioso es que en el curso se utiliza el compilador clangย en vez de gcc, al principio esto me extraรฑรณ, de hecho antes no sabรญa que existรญa este compilador (ya luego me enterรฉ que hay guerra santa entre los dos y Stallman le da un infarto cada vez que se menciona clang xD). Al principio decidรญ ignorar el nuevo compilador pues soy de esos que piensa ยฟpara que tener dos herramientas que hacen el mismo trabajo?
Gedit y Clang hacen equipo
Sin embargo al final decidรญ darle una oportunidad al compilador bรกsicamente por dos razones, estaba teniendo problemas a la hora de compilar (especรญficamente con la etiquetaย -Qunused-arguments que al parecer no existe en gcc) y segundo porque en una de las actualizaciones rutinarias notรฉ que el Gedit me lanzรณ un tip de que para activar el ยซcode assistanceยป (asistencia de cรณdigo) era necesario instalar clang. En vista de esto decidรญ probar de que se trataba y ejecutรฉ (solo vรกlido para Arch y/o Manjaro)
sudo pacman -S clang
La magia vino al instante =). Si colocas el puntero sobre las advertencias te indica la pista de lo que estรก mal, lรกstima que en la captura de pantalla desaparezca.
- La competencia siempre permite la evoluciรณn con beneficio a los usuarios.
- No todo lo que no sea estrictamente GPL es malo
- Quienes predican libertad de pensamiento deberรญan justamente hacer evolucionar los programas en base a las necesidades de los usuarios, porque los pensamientos de todos valen, no solo elย de los desarrolladores. (Tu programa puede tener todo lo que quieras, pero si a los usuarios no les gusta fracasas, punto)
Tengo entendido queย esto es algo que a gritos se venรญa pidiendo que se incluyera en gcc, pero como las mayores demandas al parecer venรญan de grandes empresasย privadas pues se ignoraron. No creo que esoย sea el mejor ejemplo de libertad de pensamiento y de lo que elย open sourceย predica y representa.
Sรฉ que no todos son asรญ, pero una buena parte de la comunidad linuxera seguro se siente identificada, y estoy convencido que como sigamos asรญ, jamรกs podremos conquistar el escritorio. Tenemos que dejar el odio entre nosotros a un lado, tenemos que tratar mejor a los nuevos potenciales usuarios sin importar si hacen preguntas ยซtontasยป o ยซrepetidasยป y no menos importante, los desarrolladores deben dejar de hacer guerra a las empresas privadas y centrarse en atender las necesidades, la fragmentaciรณn es una consecuencia directa de esto pienso yo. Seguro estoy que si se hubieran atendido las necesidades de los demรกs, sin importar de donde provinieran hoy la historia habrรญa sido ยซgedit y gcc hacen equipo paraย formar un IDEยปย o ยซgcc permite a los pequeรฑos editores convertirse en verdaderos IDEsยป
Muy buen artรญculo, y estoy 100% de acuerdo contigo sobre eliminar el odio. Un solo รกrbol no constituye el bosque. Actualmente tenemos Linux, FreeBSD y la familia BSD en general, Mac, Windows, Solaris, UNIX, etcรฉtera, y todos son รกrboles del bosque de software que usamos los seres humanos.
La Diversidad es consustancial a La Humanidad.
Creo que exagerรกs con el odio. No creo que los desarrolladores tengan odio por otros proyectos, mรกs bien algunos usuarios lo tienen.
Con respecto a lo que decรญs sobre tener mรกs tacto con el usuario, me parece perfecto.
Las libertades del software libre (que parece que confundes con Open Source) son:
la libertad de usar el programa, con cualquier propรณsito (Uso).
la libertad de estudiar cรณmo funciona el programa y modificarlo, adaptรกndolo a las propias necesidades (Estudio).
la libertad de distribuir copias del programa, con lo cual se puede ayudar a otros usuarios (Distribuciรณn).
la libertad de mejorar el programa y hacer pรบblicas esas mejoras a los demรกs, de modo que toda la comunidad se beneficie (Mejora).
Esto tiene poco que ver con la ยซlibertad de pensamientoยป, que es un concepto mรกs bien relacionado con la polรญtica o, si me apurรกs un poco, con el liberalismo en economรญa.
La libertad de pensamiento no tiene, en principio, ninguna incompatibilidad con el patentamiento de software, con que cierres tu cรณdigo, etc. etc.
Todo esto, claro, suponiendo que desde el punto de vista filosรณfico fuera posible una libertad de pensamiento casi descontextualizada como la que planteas.
Saludos.
Tienes razรณn, pero hago el comentario de esa forma porque siempre se ven comentarios que precisamente tratan de hacer ver que software libre es libertad de pensamiento. Y no, el open source puede ser de pago o gratuito, el software libre es gratis y abierto, es lo que entiendo. Lo que mencionas estรก muy bien, pero recuerda que mas allรก de lo tรฉcnico, el software libre es una ideologรญa o filosofรญa, y aunque yo sรฉ que lo hacen para protegerse, no permitir a entes privados tomar parte del cรณdigo, y modificarlo y/o aรฑadirle funciones privadas no me parece muy libre que digamos, y es justamente todo el rollo del por quรฉ naciรณ clang. Clang es software libre, sin embargo a diferencia de la GPL su licencia le permite ser modificado por quien quiera, como quiera, cuando quiera y sin que nadie se entere (a diferencia de la GPL no puedes modificar sin hacer pรบblicas las modificaciones) me parece mucho mas libre. Por supuesto eso tiene la ventaja/desventaja de que las empresas aรฑadirรกn partes privadas y son vulnerables al adoptar, extender y extinguir
ยซY no, el open source puede ser de pago o gratuito, el software libre es gratis y abierto, es lo que entiendo.ยป
Hay que evitar ese error tan difundido, y que tanto daรฑo hace.
El Software Libre, perfectamente puede ser de pago (o no, es una decisiรณn del autor), de hecho, si lees la GPL (La licencia de SL mas popular del mundo) veras que fomenta el cobrar por el software que desarrollemos.
Igual vale la pena distinguir entre privado (propio, particular) y privativo, este ultimo se refiere a que priva de las libertades (en este caso de las que el SL habla).
El SL perfectamente permite que NO distribuyas tu versiรณn modificada y la mantengas como privada, el problema viene cuando quieres lucrar con un trabajo derivado de otros sin respetar su derecho de autor.
Lo que puedes hacer, si no quieres compartir tu cรณdigo, es usar el de otros sin modificarlo, enlazarlo al tuyo(Por ejemplo como una libreria), dejas cada parte son licencias diferentes y listo, para eso esta la LGPL.
Es cierto nos hemos convertido en una jaurรญa de trolls y mojigatos, vivimos despotricando en contra de esto o aquello por ejemplo hablamos y predicamos el software libre de una manera casi fanรกtica pero cada vez que instalamos un sistema linux corremos a instalar chrome mientra despotricamos contra firefox pese a que este es menos intrusivo y no es desarrollado por una conpaรฑia con fines monopolistas o despreciamos a gnome y su shell por mera envidia pues en el fondo sabemos que hoy por hoy es la joya de la corona en entornos de escritorio y preferimos apoyar a distros que a penas contribuyen a este proyecto y que solo actรบan como garrapatas mientras la verdadera distro que lo representa y la empresa que lo patrocina cae en deshuso
ยซTengo entendido queย esto es algo que a gritos se venรญa pidiendo que se incluyera en gcc, pero como las mayores demandas al parecer venรญan de grandes empresasย privadas pues se ignoraron.ยป
Pues en ese caso me parece bien, si son grandes empresas que modifiquen ellas el cรณdigo y luego lo compartan con la comunidad, que para eso tienen mas recursos.
En realidad eso hicieron y por eso ahora existe clang, crees que esas modificaciones no intentaron entrar en principio a gcc?? Sin embargo la directiva de gcc liderada por el mismo Stallman no solo son cerrados a las sugerencias sino que ademรกs recuerdo haber leรญdo que la programaciรณn del mismo fue hecha de forma que no fuese modular y no se pudiera utilizar partes de cรณdigo sacrificando eficiencia para mantener el hermetismo. Ya vemos que en los benchmark clang compila mucho mas rรกpido, sin embargo aรบn le falta madurar ya que en la ejecuciรณn de los binarios, los de gcc van mas rรกpido.
Nada mรกs lejos de la realidad, GCC no lo gobierna Richard Stallman, estรก liderado por el GCC steering committee, desde 1998, el cual tiene miembros de la industria y de la academia.
Cuando no conocemos un tema, es mejor quedar callados o preguntar o indagar.
Disfrutemos la vida mientras podamos.
https://gcc.gnu.org/steering.html
Jeje ok, hiciste la tarea, reconozco que hice un comentario ligero y me equivoquรฉ, sin embargo es lo que inferรญ tras leer unas listas de correo donde se nota que Stallman supone muchรญsima autoridad y es altamente influyente en las decisiones que allรญ se puedan tomar.
Igual no quita el hecho que ignoran las sugerencias.
Hombre, creo que llegas tarde al mundo de la programaciรณn y por eso no te has enterado que esa funcionalidad se puede aplicar a cualquier editor usando GCC (Siempre que el editor lo permita, claro). Ese es un trabajo que hace gedit tras bambalinas no clang, clang es un compilador.
Por otro lado no debes hablar cuando no conoces los hechos de fondo, si no te gusta GCC no lo uses pero no hables cosas que no conoces.
GCC es de los mejores compiladores que existe al igual que clang. Ademรกs GCC es software libre y ese es uno de sus mayores mรฉritos.
Saludos y disfrutemos de la vida mientras podamos.
Nunca dije que no me gustara GCC, es el principal que uso, y si, puede que haya llegado tarde, pero aunque tienes razรณn de que las asistencias de cรณdigo son de parte del IDE como netbeans o eclipse, los editores pequeรฑos no contaban con dichas features para mantener si simplicidad y bajo consumo de recursos, Clang les permite tener asistencia de cรณdigo, como lo hace? no sรฉ, pero es algo que es gracias a Clang y que GCC no tiene ๐
Si lees este blog sabrรกs como gedit hace la asistencia de cรณdigo y no clang.
https://blogs.gnome.org/jessevdk/2011/11/13/gedit-code-assistance-plugin/
Saludos.
Yo creo que este link tiene mas validez que el tuyo y me da la razรณn
http://clang-analyzer.llvm.org/
Gedit utiliza la herramienta code static analyzer de clang para ejecutar su asistencia de cรณdigo. Esta herramienta es posible y funcional gracias al diseรฑo modular de clang.
ยซStrictly speaking, the analyzer is part of Clang, as Clang consists of a set of reusable C++ libraries for building powerful source-level tools. The static analysis engine used by the Clang Static Analyzer is a Clang library, and has the capability to be reused in different contexts and by different clientsยป
ยซEsta herramienta es posible y funcional gracias al diseรฑo modular de clang.ยป
No entiendo porque te empeรฑas en mencionar que GCC no es modular, si no fuera asรญ cรณmo crees que puede compilar C, C++, ADA, Objetive-C, Java, Fortran.
Otra cosa que me parece curiosa es tu empeรฑo por hacer quedar mal a GCC, todos los proyectos tienen o han tenido problemas y GCC no es la excepciรณn y los ha superado, por eso el kernel Linux sigue usando GCC para su compilaciรณn.
Sรณlo me incomoda que hagas quedar mal a GCC, siendo esta herramienta la que ha hecho y sigue haciendo posible tanto sobre valioso y maravilloso que usamos en el dรญa a dรญa.
Modular es GCC tanto como clang:
http://lwn.net/Articles/457543/
http://gcc-melt.org/
http://stackoverflow.com/questions/14072779/how-can-i-run-gcc-clang-for-static-analysis-warnings-only
Me refiero especรญfcamente a esto
ยซClang is designed as an API from its inception, allowing it to be reused by source analysis tools, refactoring, IDEs (etc) as well as for code generation. GCC is built as a monolithic static compiler, which makes it extremely difficult to use as an API and integrate into other tools. Further, its historic design and current policy makes it difficult to decouple the front-end from the rest of the compiler.ยป
Extraรญdo de http://clang.llvm.org/comparison.html, (lรกstima que no encuentro donde fue que leรญ que el mismo Stallman admitiรณ que el diseรฑo fue intencionalmente asรญ para que precisamente no pudiera ser usado por otras herramientas)
Tambiรฉn vale la pena mencionar el otro punto de crรญtica.
ยซVarious GCC design decisions make it very difficult to reuse: its build system is difficult to modify, you can’t link multiple targets into one binary, you can’t link multiple front-ends into one binary, it uses a custom garbage collector, uses global variables extensively, is not reentrant or multi-threadable, etc. Clang has none of these problems.ยป
De todas formas creo que me mal interpretas, no es que yo prefiera clang, lo que quise decir es que ojalรก GCC hubiera sido el protagonista de este artรญculo.
Hace tiempo publiquรฉ en este foro una idea, la repito una vez mรกs:
ยซCreo que tu opiniรณn es infundada, por encima de las cuestiones tรฉcnicas esta el software libre. Eso es lo que mรกs preocupa al Sr. Stallman. Por lo que veo lo mejor para ti es la parte tรฉcnica y estas en tu derecho, pero cuando no tengas donde elegir porque una empresa se apoderado de tu tecnologรญa lo pensarรกs dos veces.
Por otro lado con GCC puedes verificar el cรณdigo en tiempo real, como vuelvo a repetir tu opiniรณn es infundada.ยป
Creo que has dado justo en el clavo, definitivamente soy mas objetivo y menos religiรณn, y es justo lo que creo que se ha convertido el software libre, religiรณn, de hecho creo que ahora entiendo el por quรฉ de tanta guerra santa.
Me parece que con รฉste artรญculo estรกs alejando mรกs a la gente del software libre y de su verdadero enfoque.
Sรณlo quisiera dejar dos enlaces a dos libros que ojalรก tuvieras la paciencia de leer para entender mejor las ideas del software libre.
Software libre para una sociedad libre
https://www.gnu.org/philosophy/fsfs/free_software2.es.pdf
Cultura libre
http://www.worcel.com/archivos/6/Cultura_libre_Lessig.pdf
Saludos y disfrutemos de la vida mientras podamos.
El -Qunused-arguments de CLANG supungo que se podrรก replicar en gcc con alguna combinaciรณn de -Wunused-function / -Wunused-label / -Wunused-value / -Wunused-variable
Yo creo, con todo el respeto hacia lo que has escrito y que en parte comparto, que lo que a veces se nos olvida es por quรฉ y para quรฉ naciรณ el software libre, que luego evolucionรณ hacia el opensource.
Involucionรณ: el OSS es SL sin la carga social y filosรณfica.
El OSS es meramente la parte tรฉcnica que ya estรก contenida dentro del SL pero no viceversa.
El OSS tomรณ fuerza simplemente porque se encarga de lidiar con aspectos tรฉcnicos sin tener que lidiar con cuestiones morales o รฉticas.
En todo caso y para la prรกctica ambos se comportan de forma similar – no igual, similar. El problema con las licencias no GPL es que permiten cerrar ciertos forks en algรบn momento determinado; el ยซproblemaยป con la GPL en el paradigma social actual ya que las empresas no pueden crear ventaja competitiva con el desarrollo en sรญ sino con los servicios y nichos de negocio asociados al mismo.
Hola, te felicito por el artรญculo, me parece una postura bastante razonable la tuya, la cual comparto. Uso Linux desde hace unos 5 aรฑos, y lo elegรญ por la libertad que me da para seleccionar que cosas quiero usar y tener en mi PC y cuales no, lo cual Windows no te permite. Reconozco que es verdad que hay intolerancia de ciertos usuarios de Linux a otros que no lo son o que usan una distribuciรณn distinta, y creo que una cuestiรณn cultural, de no saber aceptar a otros con distintos criterios. Ojalรก todos lo entendamos y podamos aportar mรกs a la comunidad. Un saludo desde Cordoba, Argentina.
Aplaudo tu texto. La humanidad ha evolucionado como grupo gracias a priorizar unos pocos objetivos comunes, pero solo ha sido posible desde el respeto por las diferencias.
La libertad de pensamiento no significa que harรกn todo lo que se pida, el programador decide quรฉ y cuando implementar (el tiene libertad de hacerlo como le parezca). La libertad es que si esto no te cuadra puedes hacerlo tu si sabes o pagar a alguien para que lo haga por tรญ.
Las herramientas estรกn ahรญ para utilizarlas al margen de si te gustan o no, si no te gustan crรฉate una o apoya para mejorarla como sucede con las comunidades en el software libre, si tienes dinero cรณmprate una … le duela a quien le duela en el mundo del software libre las cosas funcionan asรญ, hay proyectos que son realmente buenos y siguen mejorando, otros no tan buenos y estรกn estancados, otros que quedaron en el intento … es lo que hay no joroben al resto por usarlo o no, ahora en el tema del รฑu-tux es inevitable que de vez en cuando nos salga nuestro ยซcorazoncito arroganteยป en contra del software privativo y mรกs aun si se trata de winbug, que le vamos hacer es nuestro karma que hemos formado durante tiempo al ver las ENORMES BONDADES de usar รฑu-tux y software libre!! (:
No entiendo, este art. habla de Gedit como IDE – cof Builder: https://wiki.gnome.org/Apps/Builder cof – o es propaganda de clang?
Cuando hablas de odios supongo que te referirรกs a la lucha contra la imposiciรณn de cierto software y de formatos privativos que restringen la compentencia y la libertad de los usuarios. No es odio, es defensa ante el robo y la imposiciรณn del mismo. Por ejemplo en Espaรฑa si compras cualquier portรกtil de marca de imponen la compra de un software llamado Microsoft Windows aunque no lo quieras, sรณlo la marca Asus parece devolver el importe de Windows sin problemas, pero, luego desde las empresas hasta las Administraciones Pรบblicas quieren imponerte comprar licencias de software privativo para hacer algo tan tonto como firmar una queja a travรฉs de la web, ejemplos: Seguridad Social, Defensor del Pueblo, …
No es que los defensores del uso del software libre odien o no toleren otros pensamientos, el problema es cuando los que tienen otros pensamientos quieren imponer la compra de productos a terceros existiendo otras soluciones que respetan lo que cada uno quiera usar.
Es muy diferente.
No, lo que describes es defender tu libertad, eso estรก bien, yo lo que describo, es usuarios linux arrmetiendo contra usuarios windows, usuarios expertos arremetiendo contra usuarios nuevos, debianitas arremetiendo contra ubuntuseros y asรญ, cargado siempre de comentarios llenos de insultos y arrogancia.
Creo que ves o tenes la imagen estereotipada de las cosas, y comunidades. A mi entender el software libre se refiere a eso, hacer las cosas como uno cree que son mejores, entre muchas otras . No es obligatorio que un programador o equipo de desarrollo incluya caracteristicas que a otro le interesen. Imaginate si fueran fieles a esa regla, todos los programas estarian llenos de caracteristicas y serian interminables. Todos tendran sus buenas ideas y no se pueden incluir todas las variantes… seria un nunca acabar. Si a alguien le parece insuficiente como se a desarrollado un programa tiene que dejar de exigir, hacer un fork (y aprobechar la licencia GPL/GNU para reutilizar codigo ageno) e incluir su propia caracteristica/mejora/diseรฑo y finalmente terminar aportando a la comunidad, y si alguien decide que es util lo implementara. Eso es libertad. Las demas criticas son parte del folckore humano, humor, caracter. No hay que tomarse las cosas como si fueramos protagonistas de una pelicula de marvel….. nada se va a perder por que el programador de turno mande a la mierda a NVIDIA, su codigo quedara igual para la posteridad y disfrute del resto de nuestra especie, conocimiento compartido y en constante evolucion, los hombres finalmente pereceran con sus cualidades y aspectos distintivos, caracter y demas. Pero su creatividad esfuerzo y trabajo perdurara para que todo aquel que lo considere util pueda reutilizarlo.
Y algo importante que para mi hay que resaltar, vos decis ยซ…….Quienes predican libertad de pensamiento deberรญan justamente hacer evolucionar los programas en base a las necesidades de los usuarios, porque los pensamientos de todos valen, no solo el de los desarrolladores. (Tu programa puede tener todo lo que quieras, pero si a los usuarios no les gusta fracasas, punto)ยป …….pero a mi entender es cambiar el enfoque, gnu pretende no poner en el centro al usuario como usuario tal, lo que pretenede es poner en el centro de la informatica al hombre, (repito no al usuario como mero cliente) sino al ser humano como parte de una comunidad, que algunas veces o en mayor medida participe de manera pasiva, sin desarrollar codigo no implica que este mal el enfoque. Y recordemos que el que adquiere compra o utiliza software dentro del mundo gnu lo hace no solo con sus funciones si no tambien con el codigo, que le permite adaptarlo a sus necesidades si estas no son satisfechas por el programa original o si en algun momento le surgen nuevas. Eso es lo unico que importa, y que hay que defender. Claro que hay muy buenos programas, y mejores que son privativos, pero el punto es que nos privan de libertad, nos estafan cuando nos venden un simple binario (si aderimos al concepto GNU) y muchos vulneran nuestra privacidad y confianza.
PD: Exelente tu aporte/difusion/didactica y conocimiento. Es uno de mis blogs de referencia. Saludos y epero se pueda comprender mi enfoque y critica. Saludos.
ยป los desarrolladores deben dejar de hacer guerra a las empresas privadas y centrarse en atender las necesidades, la fragmentaciรณn es una consecuencia directa de esto pienso yo. ยป
Eso digo yo, para que inventaron gEdit si podrรญan haber mejorado Emacs, y dicho esto para que inventaron Emacs si podrรญan haber mejorado vi que todos sabemos que es inรบtil si dedicรกs ese esfuerzo en mejorar ed . Claro que los hombres de verdad simplemente hubieran mejorado cat.
Y ya que estamos para que usar Linux si podrรญamos seguir usando Unix viejo y peludo y nos sacamos de encima a Stallman y sus locuras de hippie.
y como dirรญa Homero: Por cierto eso fue puro sarcasmo…
Justo al clavo @juanfgs. ยซFragmentaciรณnยป es algo que existe en todo sistema operativo, no importa cual sea, y no es precisamente algo malo, todo lo contrario, esa diversidad habla mucho sobre la salud de un sistema operativo y su adopciรณn en el รกmbito que sea.
Es como todo, y la exageraciรณn de juanfgs es muy acertada, yo no es que estรฉ en contra, estoy en contra de la groserรญa de cantidad de fragmentaciรณn. Por supuesto, si no fuera por eso, no tendrรญamos linux y la evoluciรณn de software jamรกs se darรญa, pero tanta fragmentaciรณn hace imposible prosperar a linux en el escritorio.
Desde mi punto de vista, si es necesidad hay que hacerlo, linux fue necesidad, devuan es capricho, emacs es capricho, ubuntu necesidad (y ojo que no me gusta). En fin, por supuesto que es vรกlido no coincidir en cuales son y cuales no son, el punto es todo en exceso es malo, y linux sufre de exceso de fragmentaciรณn
ยซy linux sufre de exceso de fragmentaciรณnยป
Comparado con que?
ยฟcomparemos, cuantos editores de texto para desarrollo o IDEs existen en el software libre y en el software privativo?
http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B
Si te fijas en la tabla hay muchos IDEs libres que de hecho aparecen en mรกs de una categorรญa mientras que los propietarios se concentran en hacer su producto para un solo lenguaje. Mirando esa tabla te dirรญa que el software privativo se fragmenta mรกs en terminos de buscar ganancias (en muchos casos innecesarios).
Las fragmentaciones en programas de software libre se producen por lo siguiente:
– Los programadores quieren agregar funcionalidad a X IDE pero no programan en el lenguaje que esta escrito
– Los programadores no concuerdan con las filosofรญas de los IDEs existentes para un lenguaje
– Los programadores quieren mejor soporte para X lenguaje y ningun IDE actual lo proporciona
En el caso de GCC, es abrumadoramente lo contrario. Y es porque GNU siempre prefirio las colecciones, al estilo UNIX (en parte de ahรญ el acronimo GNU is not Unix si te fijas stallman lo explica en su pรกgina ), de ahi que emacs o GCC sean grandes colecciones integradas de componentes. Tu queja bรกsicamente es: ยป X developer no hace las cosas como YO quiero que las haga, y YO (que no contribuyo nada por cierto) quiero que se hagan asรญ, entonces son unos estรบpidos por no hacer lo que YO digo con SU tiempoยป
Pero como siempre, es mรกs facil armar un culebrรณn de algo que se lee en una lista de correos, que simplemente poner el culo en la silla y contribuir cรณdigo.
Estoy completamente de acuerdo con Federico y pienso que lo mejor es tener diferentes y mรบltiples herramientas a nuestra disposiciรณn. Por cierto muy buen artรญculo.
bueno…. otro post de un redactor confundido, que no tiene ni idea
de las bases de SL y con un odio incomprensible a GNU.
El sofware libre tiene un costo, mas alla del economico que se le pueda cobrar o no
a los usuarios, es moral y cuesta mucho, por ello pocos lo pueden pagar y otros
pocos menos contribuir, aunque todos lo podemos usar sin terner ni puta idea de que
se trata, que quieres pasta, pues vendelo, que quieres fagocitarlo en tu proyecto?
pues a pagar licenciando con GPL
se libre, se GNU, jo jo jo
La ยซFragmentaciรณnยป es inherente a la evoluciรณn, es una cualidad imprescindible: la capacidad de adaptaciรณn es lo que asegura la supervivencia de una especie.
De no ser por la fragmentaciรณn tendrรญamos solamente autos Ford, y Linux jamas habrรญa existido.
Tienes toda la razรณn, la cosa es que en Linux no hay fragmentaciรณn, hay es groserรญa de exagerada cantidad de fragmentaciรณn, y todo en exceso es malo. Solo entra en distrowatch y verรกs la cantidad de distribuciones de Linux que hay, como hace un programador para preocuparse porque su programa funcione bien en todas?
ยซcomo hace un programador para preocuparse porque su programa funcione bien en todas?ยป
Eso no algo de lo que deba preocuparse el desarrollador, el pone su cรณdigo fuente disponible y cada quien lo empaqueta como quiera.
Quizรกs alguna distro no quiera ni siquiera incluir el programa en sus repos, y el desarrollador no tiene ni voz ni voto en algo como eso, y eso es lo correcto, el desarrollador no es lo mas importante en el mundo.
Te animo a comparar la cantidad de marcas y modelos de automรณviles (cuya รบnica funcionalidad es transportar personas) contra la cantidad de distribuciones de linux (sistemas operativos que tienen miles de funcionalidades y formas de uso) y te darรกs cuenta que la supuesta ยซfragmentaciรณnยป de la que hablan no es ningรบn problema: ยฟQuรฉ pregunta es mรกs dificil: ยซยฟquรฉ automรณvil elijo?ยป รณ ยซยฟque distro elijo?ยป?
O mรกs bien ยฟCรณmo hace un fabricante de parabrisas para hacer que su ยซvidrioยป funcione en todas las marcas y modelos del mercado?
Por cierto, ยฟpor quรฉ la ยซfragmentaciรณnยป no hizo fracasar a linux en el mercado de servers? ยฟy en el de routers? ยฟy en el de moviles?
Mu conclusiรณn: La fragmentaciรณn no es un problema, es inherente al ser humano que es LIBRE de hacer lo que quiere. Lo contrario es la imposiciรณn de una รบnica idea (o de un par), de una unรญca forma de hacer las cosas. Eso es la ยซno-fragmentaciรณnยป, que sรณlo se dรก por el dominio de unos pocos sobre otros muchos.
Saludos.
El autor Daniel N querรญa informarnos de una funcionalidad que permite a los editores de texto plano recibir informaciรณn externa de otro componente del sistema. Se trata de Gnome Code Assistance ( https://blogs.gnome.org/jessevdk/2014/04/11/gnome-code-assistance/ ) que a travรฉs de D-Bus permite comunicar los mensajes de error de un determinado compilador (en este caso Clang) con un editor de texto (Gedit). Los mensajes de error que lanza el compilador Clang incluyen el nรบmero de lรญnea donde estรก el error, y el plugin de Gedit ยซgedit-code-assistanceยป permite mostrar dichos errores sobre el propio cรณdigo fuente.
Es algo parecido a SyncTex, que permite que nos posicionemos en cualquier lรญnea de texto de un PDF generado por LaTeX, y nos abra un editor de texto, mostrando el cรณdigo LaTeX que generรณ la lรญnea del PDF (y vicecersa). Muy รบtil para depurar.
Por tanto, es como si un editor de texto plano se convierta en un pseudo-IDE, que suele mostrar errores y cรณdigo a la vez.
Lรกstima que un artรญculo que podrรญa resultar รบtil haya quedado tapado por tanto comentario off-topic sobre la libertad del software libre, que tiene su importancia, pero no en este contexto.
De todas formas, la soluciรณn es sencilla: que los autores de los comentarios se reรบnan y saquen un plugin para gcc que se comunique con D-BUS e implemente la funcionalidad Gnome Code Assistance.
ERROR:
La soluciรณn es que los autores de Gnome usen GCC en lugar de CLang para su ยซGnome Code Assistanceยป, ya que ambos tienen la misma funcionalidad, como ya alguien comentaba:
http://stackoverflow.com/questions/14072779/how-can-i-run-gcc-clang-for-static-analysis-warnings-only
El error del autor de este post es creer que porque los de Gnome optaron por Clang en lugar de GCC, es problema de GCC.
Es como los que creen que la culpa es de Linux que no tenga drivers para cierto hardware, cuando son los fabricantes los responsables de crear los drivers para los SO donde quieren que funcione.
ยฟVamos a tener que hacer ingenierรญa inversa tambiรฉn con Gedit para tener un ยซcode assistantยป con GCC? (al menos va a ser mรกs fรกcil, porque tenemos el cรณdigo)
Ademรกs, si lees el artรญculo que linkeas (https://blogs.gnome.org/jessevdk/2014/04/11/gnome-code-assistance/) ยกยกยกhabla de los problemas que tienen con clang!!!
ยซThe second issue is that we do not really control libclang, so if there is any bug that could cause crashes, there is no way we can work around that easilyยป…ยปwe found that libclang was not yet as stable as weโd hopedยป
ยซwe couldnโt easily extend the plugin to other languages than those supported by libclangยป…ยปIn gedit, we only support C (and by extension Vala) and pythonยป
Queda claro que lo de clang vs gcc fue una decisiรณn del equipo de gnome por algรบn motivo propio, no por las supuestas ยซdeficienciasยป de GCC como supone el autor de este post (de hecho estรกn encontrando deficiencias a CLang, luego ningรบn software es perfecto, sea libre, abierto o cerrado)
Saludos!
Blah blah blah.
Si usas Linux y toleras a Windows….mejor regresate a Windows,no te necesitamos aquรญ
Estoy viendo muchos comentarios crรญticos con el autor que no tienen fundamento. Pongamos los hechos sobre la mesa, los desarrolladores de GCC son muy cerrados y nunca se abrieron a innovaciones. Las empresas entonces apoyaron a Clang y ahora este genera mejores mensajes de error y permite hacer anรกlisis de cรณdigo (y muchas mรกs cosas) a travรฉs de libclang. Por ejemplo para pasar una librerรญa de C a Rust se usan herramientas de libclang, no porque no nos guste GCC, sino porque directamente se negaron a poner esas caracterรญsticas.