Discusión:C (lenguaje de programación)

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre
Esta página le interesa al Wikiproyecto Informática.

Palabra clave 1972[editar]

De dónde viene la referencia "La palabra clave 1972 permite encapsular variables y funciones" y otras afirmaciones así? No he programado en C pero en la versión en inglés no está mencionado algo así. Otras cosas como "Manejo de Interrupciones mediante la biblioteca Quito." Por favor pido bajen el artículo y se haga una revisión del mismo por alguien que conozca el lenguaje.

Título[editar]

¿Este artículo no debería llamarse C (sin "lenguaje de programación")? porque los otros artículos de lenguajes de programación tienen como título simplemente el nombre del lenguaje. Dagilpe (Escríbeme aquí) 18:06 3 jun 2008 (UTC)[responder]

Probablemente porque ya hay otro artículo que se llama C, y además hay unos cuantos conceptos (C (desambiguación)) a los que se puede aludir con la letra C y hay que idear alguna forma de diferenciar entre ellos. Jesuja (discusión) 18:16 3 jun 2008 (UTC)[responder]
CALLATE 190.11.176.185 (discusión) 16:21 18 ago 2022 (UTC)[responder]
no UR.2 (discusión) 17:03 18 ago 2022 (UTC)[responder]
El título del artículo debería ser "C (lenguaje de programación)" siguiendo la normativa actual de las convenciones de títulos:
Si crea un artículo nuevo y desea asignarle un título que se corresponde con otros conceptos, susceptibles de ser también artículos, no utilice ese nombre en exclusiva para su artículo, elija en su lugar un nombre alternativo, a ser posible de uso común, para que se diferencie de los demás. Por ejemplo, la palabra «Radio» define varias cosas, entre ellas un elemento químico y un hueso del antebrazo. La solución a este aparente conflicto consiste en indicar «Radio (elemento)» y «Radio (hueso)».
Juan Mayordomo (discusión) 08:28 3 oct 2010 (UTC)[responder]

ANSI[editar]

El artículo contiene un pequeño error: la fecha de publicación de estándar ANSI, resultado del trabajo del grupo X3J11, es Diciembre de 1989, no 1986. De hecho, este estándar es conocido como "ANSI X3.159-1989-". Se realizó un pequeño trabajo posterior para convertir este estándar ANSI en un estándar ISO, que fue publicado en 1990, como "SO/IEC 9899:1990", y este trabajo consistió principalmente en cuestiones de formato. Aún hay un tercer estándar de C, que data de 1999: "SO/IEC 9899:1999", que agrega al lenguaje unas pocas, pero cruciales, características nuevas, entre ellas la inclusión de los comentarios "//" estilo C++, la posibilidad de inicializar miembros individuales de una estructura al momento de declararla, y la palabra reservada inline.

Preferiría que fueras vos el que edite el artículo, ya que conocés el tema. Pero si no querés, ya lo haré yo luego, basándome en tus datos. Gracias. --angus (msjs) 00:49 8 jul, 2005 (CEST)
Creo que seria un gran detalle que se hablara tambien de la evolución de el lenguage y cuales son las fronteras que puede alcanzar el lenguage osea como evoluciona segun las necesidades que van surgiendo

200.65.96.38 la ip blanqueo a angus y puso esto, pero lo considero valioso y lo pongo antes de rv —Gizmo II Sí? 04:53 23 feb 2006 (CET)

yo creo que esta bien:se puede diferenciar ,cada quien tiene diferentes ideas y respeto la de todos pero en mi opinion esta bien

Ejemplo[editar]

¿Quieren ya dejar de editar el ejemplo? Así está bien, no arreglen lo que no está roto. La declaración de main es correcta así, devolviendo "int" y con los parámetros [1]. --Niqueco 06:32 5 may 2006 (CEST)

El "hola mundo" se caracteriza por su sencillez. Eso implica que debe ser lo más simple posible. Por otra parte, revisando el historial, veo que el primero que "arreglo algo que no está roto" sos vos. Y como si esto fuera poco el link que das no aporta nada. Saludos. --Programador (Hablame) 15:32 15 may 2006 (CEST)
Simpleza, pero nunca a expensas de la corrección. Recordá que esto es una enciclopedia cuando hagas cambios. --Niqueco 15:38 15 may 2006 (CEST)
Ya argumenté. No voy a participar en una guerra de ediciones por esto. Confío en que los que lean esto ayuden a solucionar este problema. Saludos. --Programador (Hablame) 16:02 15 may 2006 (CEST)
Bueno, mejor así. No me parece correcto ejemplificar un lenguaje usando construcciones "deprecated", mejor usemos ANSI C, y no un estilo de declaración que sólo existe por compatibilidad con el viejo C K&R como proponés. --Niqueco 16:15 15 may 2006 (CEST)
Repito: ya argumenté --Programador (Hablame) 14:58 17 may 2006 (CEST)
Respecto al ejemplo del hola mundo, considero más adecuado usar: int main(void), dado que según C99, main se puede declarar de esta forma, y nos evitamos posibles Warnings por declarar variables que no se usan.

Lenguaje[editar]

Acabo de buscar en el diccionario la palabra "rupturista" porque desconozco su ignificado y me he encontrado con que no aparece. Así que por favor, que alguien que entienda de esto más que yo lo arregle a ser posible, gracias. --Dullyboy 21:21 9 dic 2006 (CET)

Tipeado o tipado??[editar]

creo que se dice tipeado haber que alguien me corrija si digo mal,

tú tipeas el tipea nosotros tipeamos vosotros tipeáis vos tipeas vos chingas --190.31.242.24 06:12 22 ago 2007 (CEST)

Es tipado.El comentario anterior es obra de 88.86.108.41 (disc. · contr. · bloq.), quien olvidó u omitió firmarlo. Jugones55 Jugones55 (dime) 17:18 20 mar 2008 (UTC)[responder]

Frase no neutral[editar]

El artículo contiene la siguiente frase refieriendose a C++: El lenguaje que crearon, llamado C++, es hoy en día el lenguaje de programación de aplicaciones más común en el sistema operativo Microsoft Windows; mientras que C sigue siendo más popular en el entorno Unix Me parece incorrecta, soy programador y estoy migrando de Windows XP a GNU/Linux, he visto la misma proporción C/C++ entre prograas para Windows y para GNU/Linux, en ambos casos he visto más programas hechos en C++. En vista de que el artículo no tiene referencias que validen esa frase voy a retirarla. --Marioxcc (discusión) 19:47 20 sep 2008 (UTC)[responder]

Puede que no tenga referencias, habría que buscarlas. Pero esa frase es completamente cierta. Mientras que en el mundo Windows casi nadie utiliza C (muchas bibliotecas muy importantes para facilitar la programación son sólo para C++), en Unix... casi todo es C! Todas las herramientas de línea de comando estándar, todos los shells, todo el entorno Gnome, la biblioteca GTK+, el sistema de ventanas X... Sólo están hechas en C++ algunas pocas aplicaciones muy grandes (como Firefox). niqueco 07:18 21 sep 2008 (UTC)[responder]
CALLATE 190.11.176.185 (discusión) 16:28 18 ago 2022 (UTC)[responder]
HAS SILENCIO QUE VOS NO TIENES PERMISO DE HABLAR 190.11.176.185 (discusión) 16:28 18 ago 2022 (UTC)[responder]

Ejemplificado con código C[editar]

Hola a todos los programadores que pasen por aquí, he visto que muchos articulos matemáticos inclyuen código en demasiados lenguajes de programación, yo porpongo un nuevo Wikiproyecto que tenga como objetivo ejemplificar todos esos artículos con código C, claro y estándard, y eliminar demás ejemplos inútiles. Pido ayuda con el wikiproyecto, porque yo no se crearlos. ¿Quien se anima?, ¿Sugerencias para el nombre?.

Tu idea no es tan descabellada como podría parecer.
C se creó como un ensamblador abstracto y portátil.
Si no se sabe programar en C, se puede invadir memoria fuera de las fronteras de los arraglos y en general en lugares donde no es lo que se busca.
Pero a la vez es un lenguaje ampliamente usado para escribir compiladores e intérpretes de otros lenguajes de programación.
La cuestión es que para implementar los arreglos dinámicos en un compilador de, por ejemplo, Fortran, Primero debes escribir una bibliteca que maneje de manera segura los arreglos y que permita redimensionarlos. Esa biblioteca se usaría como la semántica de las operaciones de arreglos de Fortran.
La clave está en que también sirve para escribir programas en C, que usen arreglos dinámicos.
Eso no es muy popular entre los legos porque necesitan un azúcar sintáctico más parecido a su área de conocimiento. Para el uso correcto se mecesita capacitar en cómo programar correctamente o colaborar con un especialista en programación.
Si te interesa lo contrario, está el proyecto rosettacode.org que tiene cada programa en distintos lenguajes de programación, inspirados por la famosa piedra.
A mí me gustaría algo así, pero no es parte del espíritu de la wikipedia, y los que hacen cómputo científico usan lenguajes como Matlab, Mathematica, Scilab, y otros parecidos. Algunos de esos lenguajes, cuyo nombre no recuerdo, fueron escritos en lisp, lo que permitía hacer cosas como derivar simbolicamente como se hace a mano.
Eso se puede hacer en C, pero es algo complicado y poca gente sabe cómo trabajar algo así.
En C hay muchas bibliotecas.Een rosettacode hay algunos programas que tienen varias versiones en C que usan distintas bibliotecas cuando es conveniente. — El comentario anterior sin firmar es obra de 2806:107E:C:BECA:218:DEFF:FE2B:1215 (disc.contribsbloq). 10:53 12 may 2019 (UTC)[responder]

Creador de el lenguaje C[editar]

Según tengo entendido el creador del lenguaje es Dennis Ritchie. Thompson y Kernighan estuvieron involucrados con Ritchie en otros proyectos, incluso Kernighan editó el libro blanco de C pero no creó el lenguaje.

Como se puede ver en Brian_Kernighan: Aunque prefiere el lenguaje C a cualquier otro (dijo que si tuviera que llevarse un lenguaje de programación a una isla desierta, tendría que ser C) Kernighan niega cualquier contribución suya en su diseño, acreditando su autoría total a Dennis Ritchie ("es enteramente obra de Dennis Ritchie").

Queres saber? (discusión) 18:43 4 nov 2009 (UTC)[responder]

Quitar datos de estandarización de la introducción[editar]

Me parece que son datos demasiado técnicos como para estar justo al inicio del artículo. Propongo dejarlo en "esta estandarizado según el estándar ISO y su adopción es muy amplia" o moverlo en su totalidad a la sección de historia. --WLoku (discusión) 05:29 29 jun 2011 (UTC)[responder]

¿Lenguaje creado en 1972?[editar]

No entiendo porque durante el articulo se defiende que el lenguaje de programación se creo en 1972, cuando todas las fuentes conocidas explican que este lenguaje se creo en 1971. ¿Alguno tiene la razón por la cual se especifica que se creo en 1972?

"C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL."

C es débilmente tipado (no fuerte, pero sí estático)[editar]

C es estáticamente tipado (no dinamico), porque cada variable debe tener un tipo definido antes de poder usarla. En los lenguajes dinámicos no hace falta la definición, el tipo se infiere en la inicialición. C es débilmente tipado, ya que permite la conversión implícita de tipos (de hecho en C todo tipo es un número). Ejemplo:

#include <stdio.h>
main()
{
   char A;
   int B;
   char* C;
   int Result;
   
   A = '2';
   B = 3;
   C = "456";
   
   Result = A + B + C ;
    
    printf("A=%d , B=%d, C=%d, A+B+C=%d", A, B, C, Result);
}

En los lenguajes fuertemente tipados se realiza el chequeo de tipos antes de poder usar una variable. En la versión inglesa está explicitado como Weak (Débil) no hay razones para insistir en afirmar el "tipado fuerte" de C.

Enlaces rotos[editar]

Elvisor (discusión) 01:35 24 nov 2015 (UTC)[responder]

Enlaces externos modificados[editar]

Hola,

Acabo de modificar el enlace externo {linkrescued} en [[{C (lenguaje de programación)}]]. Por favor tomáos un momento para revisar mi edición. Si tenéis alguna pregunta o necesitáis que el bot ignore los enlaces o toda la página en su conjunto, por favor visitad esta simple guía para ver información adicional. He realizado los siguientes cambios:

Por favor acudid a la guía anteriormente enlazada para más información sobre cómo corregir los errores que el bot pueda cometer.

Saludos.—InternetArchiveBot (Reportar un error) 01:31 16 sep 2017 (UTC)[responder]

Edité las propiedades porque había errores[editar]

Tenía varios errores porque hablaba de cosas que tiene C++ pero no C. Como el polimorfismo. Los operadores aritméticos están sobrecargados, pero no podemos definir operadores. Sólo podemos definir funciones y no se pueden sobrecargar. Aunque mediante el uso de macros y apuntadores a funciones se puede implementar el polimorfismo, como se hizo en las primeras versiones de C++ mediante un preprocesador. Estaba muy mal, y lo corregí conforme iba leyendo por lo que respeté el orden original de cada punto. Por ello no me quedó bien redactado, se necesita arreglarlo. También arreglé lo relativo a las estructuras y uniones. Ya no me acuerdo qué más arreglé. No puedo decir que está perfecto, simplemente está menos mal. — El comentario anterior sin firmar es obra de EEE 2806:107E:C:BECA:218:DEFF:FE2B:1215 (disc.contribsbloq). 13:35 3 may 2019 (UTC)[responder]

La sección Carencias, es un ensayo no cabe en el artículo[editar]

Aunque la wikipedia reprueba artículos redactados como ensayo, yo lo aceptaría si estuviera bien fundado. Esa parte habla de que si fuese un lenguaje dinámico sería mejor y otras cosas equivocadas. Los lenguajes de programación no son para diseñar algoritmos, son para implementarlos. Por ello deben tener tipos de datos estáticos. De hecho, en la etapa de diseño es mejor tener claro cual es la entrada y cual la salida de una función. Es decir pensar en su tipo. Lo de la libertad en lenguajes dinámicos es un mito muy arraigado entre los muy numerosos legos que programan.

No sigo con otros errores porque en ese caso mejor reescribo esa sección. Creo que es mejor borrarla, pero me abstuve para que los bots no lo tomen como vandalismo.

C tiene muy pocas carencias, porque es un lenguaje extensible mediante bibliotecas y macros. A mí me gustaría que se tuviera funciones de orden superior, pero se le puede dar la vuelta al problema con las facilidades para escribir código modular de C. Me encantaría el polimorfismo, pero de manera limitada las macros permiten implementar polimorfismo paramétrico y los apuntadores a función el polimorfismo ad-hoc. Yo he escrito macros para manejar funciones de orden superior en C. Es mucho menos engorroso que en C++. Los dialectos, como gcc que tienen funciones anidadas, permiten un manejo limitado de cerraduras, no se si Objective-C es más versátil en ese sentido. C es muy buen lenguaje para quien sabe lo que hace, definitivamente no es para novatos. EEE — El comentario anterior sin firmar es obra de 2806:107E:C:BECA:218:DEFF:FE2B:1215 (disc.contribsbloq). 14:27 3 may 2019 (UTC)[responder]

Si se va a contribuir de una forma más que puntual, se recomienda crear una cuenta (no hace falta identificarse, se pueden usar pseudóminos perfectamente si se quiere conservar el anonimato). No es obligatorio, pero a los demás nos resulta más conveniente saber que estamos hablando con la misma persona y no con un montón de IPs diferentes que a saber de quienes son.
En cuanto al asunto de la sección de carencias: el artículo está en general muy mal, y el problema esencial es que carece de referencias. Las mayoría de las secciones no tienen ni una justificación, por lo que nada de lo que pone ahí es creible. Así que si borras la sección y alguien pretende restaurarla, va a tener que cumplir con Wikipedia:Verificabilidad y aportar pruebas ―si es capaz― de lo que se dice ahí es cierto. --JavierCantero (discusión) 16:30 3 may 2019 (UTC)[responder]
Javier tú sí eres serio revisando, lo que se agradece. Por lo regular no uso mi cuenta en parte porque tengo la mala experiencia de que en la wikipedia hay muchos niños que revierten las ediciones conforme a los apuntes de su escuela y la verdad no me gusta enfrascarme en ese tipo de discusiones. La otra razón es porque no quiero estar escribiendo mi password de oquis por lo que implica la seguridad. Pero puedo poner EEE en mis comentarios y usar mi cuenta cuando en verdad escriba algo más completo y estructurado. — El comentario anterior sin firmar es obra de 2806:107E:C:BECA:218:DEFF:FE2B:1215 (disc.contribsbloq). 15:03 4 may 2019 (UTC)[responder]

Nueva estructura[editar]

Recomiendo seguir aproximadamente el orden y la estructura del artículo en la Wikipedia en inglés, es decir:

  1. Introducción
  2. Historia
    1. Inicios
    2. El C de Kernighan y Ritchie
    3. ANSI C e ISO C
    4. C99
    5. C11
    6. C18
    7. Variantes
      1. C embebido
  3. Sintaxis
  4. Ejemplo de programa "Hola, mundo"
  5. Tipos de datos
  6. Gestión de la memoria
  7. Bibliotecas
  8. Herramientas del lenguaje
  9. Usos
  10. Relación con otros lenguajes

Alternativamente, las secciones "Tipos de datos" y "Gestión de la memoria" podrían ser subsecciones de una sección más general denominada "Semántica" --JavierCantero (discusión) 10:28 4 may 2019 (UTC)[responder]

Cada declaración de tipo de datos tiene un significado, que consiste en la manera en que se aloja en la memoria. En el caso de los apuntadores las operaciones con estos y su aritmética. En el caso del lenguaje C, si por gestión de memoria hablamos de cuestiones como la recolección de basura, el alojar y liberar (malloc y free), no son parte del (núcleo del) lenguaje, forman parte de bibliotecas estándar (alloc y stdlib). La semántica de las instrucciones de control, se refiere al detalle de cómo se ejecutan, ello incluye a la manera en que se maneja la memoria para llamar funciones. Un buen compilador detecta las funciones recursivas de cola y sintetiza el código iterativo equivalente. Esos detalles no se mencionan en los libros de K&R, sólo dan una descripción informal. Estas cosas se aprenden en cursos donde se construye un intérprete o un compilador.
Por eso propuse así la sección 3) Estructura del lenguaje C, con sintaxis y semántica para cada declaración e instrucción del lenguaje.
Por el momento se me ocurre el siguiente cambio a tu propuesta me baso en la estructura actual y en lo que creo que debe llevar:
  1. Introducción
  2. Historia
  3. Estructura del lenguaje C (89)
    1. Tipos de datos (para cada tipo)
      1. Sintaxis
      2. Semántica (lo más formal que se pueda)
    2. Estructuras de control c/u con su:
      1. Sintaxis
      2. Semántica informal dado que no hay una semántica formal.
  4. Programas de ejemplo
  5. Evolución del lenguaje
    1. Inicios
    2. El C de Kernighan y Ritchie (el libro/reporte)
    3. ANSI C e ISO C (el segundo libro de K&R)
    4. Evolución del estándar ANSI
      1. C99
      2. C11
      3. C18
      4. C embebido (Aquí porque es propuesta ANSI)
    5. Principales implementaciones
  6. Influencia en otros lenguajes de programación (en lugar de considerar variantes C++, C#, Java, etc)
  7. Ejemplos de programas bien documentados con distintos estilos de programación en C
  8. Gestión de la memoria (esto queda repartido entre la semántica de los tipos de datos, las herramientas como valgrind, y bibliotecas que tienen recolección de basura o que manejan memoria.
  9. Bibliotecas estándar más usadas
  10. Herramientas del entorno unix para auxilar el desarrollo en lenguaje C, lint, valgrind, etc.


Nueva estructura - version 2[editar]

He estado revisando cómo están estructurados los artículos de otros lenguajes de programación para tomar inspiración (principalmente de la Wikipedia en inglés, porque los de aquí son mayormente un desastre), y voy a modificar mi propuesta inicial:

  1. Introducción
  2. Historia
    1. Orígenes y etimología del nombre --- ¿etimología?
    2. El C de Kernighan y Ritchie
    3. ANSI C e ISO C
    4. C99
    5. C11
    6. C18
  3. Estandarización y desarrollo del lenguaje
  4. Descripción del lenguaje
    1. Sintaxis --- ¿de todo el lenguaje?
    2. Semántica
      1. Tipos de datos ---------- ¿ por qué aquí ?
      2. Gestión de la memoria --- ¿de qué? ¿de datos? ¿de procedimientos?
    3. Biblioteca estándar
    4. Ejemplos de código
  5. Variantes
    1. C embebido -- ¿Es parte de los estándares ANSI, no?
  6. Relación con otros lenguajes
  7. Implementaciones
    1. Herramientas de desarrollo --- ¿ Es parte del lenguaje C ?
  8. Usos (o Aplicaciones)
  9. Recepción (o Crítica o Análisis)
    1. Comparación con otros lenguajes --- ¿quieres compararlo contra: ensamblador, BASIC, Lisp, Prolog, Ada, Pascal, APL, SPL, Algol, PL1, Concurrent Pascal, Java, Python, Modula, CLU, Fortran, ratfor, C++, Objective C, Forth, Matlab, COBOL, SQL, jscript, Clojure? Aclara con cuales y para qué, porque no se entiende en qué aspecto, dado que lo pones como parte de su recepción no entiendo si quieres comparar su popularidad contra los otros de su época o qué.

Este esquema todavía lo considero un borrador y por supuesto está abierto a críticas y sugerencias. También aclarar que no he incluido las secciones estándar de WP:EA, ya que esas las doy por sentado. --JavierCantero (discusión) 10:36 7 may 2019 (UTC)[responder]

Javier, le puse comentarios a tu índice porque veo que no tienes claros algunos conceptos. No se entiende en qué estás pensando.
Te sugiero que revisas la manera en que estudiaste los lenguajes de programación en tu carrera de ingeniero en informática.
¿qué libros llevaste? ¿cual era el enfoque de esos libros?
Y que lo hagas de manera crítica, porque es una materia con enfoques muy distintos y que muchas veces se basan en temas coyunturales que con el tiempo pierden sentido.
Conozco una docena de libros con el título "lenguajes de programación". Desde los obsoletos que se enfocaban a cómo llamar procedimientos entre COBOL, Fortran y BASIC escritos en los años 70 cuando las computadoras mainframe y minis venian con 3 o 4 compiladores, hasta textos nucho muy formales que tienen lenguajes muy abstractos. En el espectro intermedio hay algunos que dan un panorama de los lenguajes que estaban de moda cuando se publicaron y otros más de meter mano programando algunos intérpretes.
Aunque coincidan en el título, los objetivos de cada uno son muy distintos. Por eso hay que ponerlos en contexto. ¿A tí qué estilo te tocó?
Como ves sí leí tu propuesta, pero creo que tú no leíste con cuidado el índice que propuse, aunque a fin de cuentas vamos a terminar revisando la redacción del actual porque si le agregamos más detalles los van a quitar por no cumplir con el criterio de la Wikipedia en español. EEE


Eliminé algo de subjetividad[editar]

Quité lo que decía de que era un defecto el que no tuviese tipos de datos dinámicos, y otras cosas subjetivas en esa parte. También cambié el título de variantes por lenguajes derivados de C, dado que C++ y otros que mencionan no son variantes de C sino descendientes. EEE — El comentario anterior sin firmar es obra de 2806:107E:C:BECA:218:DEFF:FE2B:1215 (disc.contribsbloq). 09:29 8 may 2019 (UTC)[responder]

Fuentes y recursos[editar]

He encontrado algunos recursos (desgraciadamente todos en inglés) que pueden servir como fuentes a la hora de justificar aspectos técnicos del presente artículo. Un criterio importante ha sido que son recursos libres o libremente accesibles, de forma que los lectores pueden comprobar directamente dichas citas sin tener que recurrir a una biblioteca o similar. Los recursos a los que me refiero son los siguientes:

Estas son referencias obligadas para usar GNU C. Sin lugar a dudas son buena fuente. Pero GNU C sólo se mencionará superficialmente cuando se hable de los dialectos actuales de C. Como no se va a profundizar en la estructura del lenguaje solo se debe citar como lectura recomendada. A menos que quieras tratar temas como los cambios para que la biblioteca estándar tenga funciones seguras para programación enhebrada (threaded) y otras cuestiones demasiado detalladas, mucho más de lo que sugerí.
Está muy incompleto en este momento. En la sección: 12.12.Typical Multifile Projects, en la página 53 del pdf tamaño carta. Tiene un ejemplo similar al mío. El estilo es muy coloquial,
Este esta bastante bien, pero cubre temas que no les gusta poner en la wikipedia en español, como las que sugerí. Se puede poner como lectura recomendada
  • The C Book (1991). Tiene aparentemente una licencia libre (en todo caso se distribuye libremente).
Esta bien, parece una versión del C de K&R en versión libro de texto. Se puede poner como lectura recomendada.

Había alguno más, pero no he podido encontrar información sobre su licencia de distribución, así que los he omitido. --JavierCantero (discusión) 10:34 8 may 2019 (UTC)[responder]

Está bien que prefieras referencias libres, pero muchas que son importantes no son libres, como los libros de los autores de C.
No se trata de buscar bibliografía como para aprender C y poder escribir el artículo. No sé donde estudiaste tu carrera de ingeniería en informática, supongo que llevaste un curso de C (debiste llevarlo). Pero puede ser una suposición errónea habiendo muchos profesores que se fueron con la finta de que C++ era mejor y ya no enseñan C. C es el principal lenguaje de programación de sistemas que hay, está muy bien hecho, aunque no es a prueba de tontos porque se diseñó como un ensablador portátil con un sistema rico de tipos de datos y estructuras de control. EEE
Javier, están bien los libros, pero no se necesitan más referencias. Basta con leer el prólogo del libro para saber su origen y características. Para ver su evolución basta con ver la página del estándar ANSI. Como la wikipedia es muy general no es necesario poner tanta anécdota.
Las referencias que tiene actualmente están bien. Si lees cómo está quedando, eliminando lo que es subjetivo se puede dejar como está, sólo dando una manita de gato a la redacción.
Eres ingeniero en informática, ¿cuantos libros usaste en el curso que llevaste de C? sin que me digas, adivino que el obligado es el de Kernighan y Ritchie, y posiblemente uno más reciente con más consejos de cómo modularizar y con algunos ambientes de desarrollo. Los ambientes de desarrollo no son parte de C, no tiene caso ponerlos en el artículo, pero vale la pena mencionar las herramientas que te ayudan a revisar el código.

— El comentario anterior sin firmar es obra de 201.124.211.236 (disc.contribsbloq). 18:58 8 may 2019 (UTC)[responder]

Terminé de eliminar las opiniones personales subjetivas. Pero todavía falta arreglar la redacción para que la lectura sea fluída y coherente[editar]

Creo que ya quité lo más descabellado de las opiniones personales subjetivas. Cómo la idea de que es un defecto que C no sea un lenguaje dinámico y que por ello se usa cada vez menos. No lo decía textualmente pero varios parrafos tenían esa idea.

Todavía tiene varias inexactitudes, pero menores. Por ahí vi que decía que C se desarrolló en una PDP 11/20, un modelo muy posterior a la que AT&T facilitó a Ritchie y demás colaboradores.

El problema de la Wikipedia en español es que refleja el bajo nivel educativo de países como México, en lo que respecta a la computación porque la enseñanza de las matemáticas está por los suelos. El sistema de educación básica se destrozó y predomina una ideología anticientífica que paradójicamente se dice pro-tecnología. El resultado un país en crísis azotado por una delincuencia muy violenta.

Otra razón, es que se ve que pocos wikipedistas han tenido la experiencia de leer una enciclopedia impresa en su casa o en una bibliteca. Por ello creen que el contenido de los artículos debe ser muy superficial, como los diccionarios enciclopédicos o simplemente los diccionarios ilustrados. Yo no estoy de acuerdo con ello.

Yo ya no pienso meter mano en este artículo, le echaré un ojo en el futuro. Pero no me compromento a nada, y si hago algo será como yo pienso que debe ser un artículo enciclopédico. EEE. — El comentario anterior sin firmar es obra de 2806:107E:C:BECA:218:DEFF:FE2B:1215 (disc.contribsbloq). 08:57 12 may 2019 (UTC)[responder]

... PiloKyoma (discusión) 20:13 17 oct 2022 (UTC)[responder]