En general, estoy de acuerdo con la mayoría de los demás: no hay realmente un buen lenguaje escalonado.
Sin embargo, es útil comprender lo difícil que es aprender C, lo que puede ayudarlo a comprender lo que le está dificultando.
yo diría que lo que sería difícil en C para alguien que viene de PHP sería:
- Punteros y gestión de memoria IC
Este es más o menos la razón por la que está aprendiendo imaginar, así que no hay manera de evitarlo. Aprender idiomas de tipo de ensamblaje de nivel inferior puede hacer esto más fácil, pero C es probablemente un puente para hacer eso, y no al revés.
- Falta de estructuras de datos integradas
PHP y co tienen tipos de cadenas nativas y cosas útiles como tablas hash integradas, que no es el caso en C. En C, una cadena es solo una matriz de caracteres, lo que significa que tendrá que trabajar mucho más, o mirar seriamente las bibliotecas que agregan las funciones a las que está acostumbrado.
- La falta de bibliotecas integradas
Los lenguajes como PHP hoy en día casi siempre vienen con montones de bibliotecas para cosas como conexiones de bases de datos, manipulación de imágenes y montones de otras cosas. En C, este no es el caso aparte de una biblioteca estándar muy delgada que gira principalmente en torno a la lectura de archivos, la escritura y la manipulación básica de cadenas. Casi siempre hay buenas opciones disponibles para cubrir estas necesidades, pero debe incluirlas usted mismo.
- Idoneidad para tareas de alto nivel
Si intenta implementar el mismo tipo de aplicación en C que en PHP, le resultará muy lento. Generar una página web, por ejemplo, no es algo para lo que C sea adecuada, así que si estás tratando de hacerlo, te resultará muy lento.
- Preprocesador y compilación
La mayoría de los idiomas en estos días no tienen un preprocesador, y si vienes de PHP, el ciclo de compilación parecerá doloroso. Ambas son compensaciones de rendimiento de alguna manera: los lenguajes de scripting compensan la eficiencia del desarrollador, mientras que C prefiere el rendimiento.
Estoy seguro de que hay más que no me vienen a la mente en este momento. La moraleja de la historia es que tratar de entender lo que estás encontrando difícil en C puede ayudarte a continuar. Si intenta generar páginas web con él, intente hacer algo de nivel inferior. Si te faltan tablas hash, intenta escribir las tuyas o encuentra una biblioteca. Si está luchando con punteros, quédese con él :)
¿Qué pasa con ellos era difícil de recoger? –
Si buscas C con objetos, no uses Objective-C. La sintaxis es incorrecta. En cambio, prueba C++. La sintaxis es muy similar a Java (a propósito). –