Relearning C:新成语?

时间:2012-02-13 13:58:20

标签: c idioms

我从2000年左右没有碰过它就重新学习了C.从那以后我就一直在Ruby工作,我发现了一个我从未知道的编程习语。

过去十年中出现了哪些重要的C技巧,书籍,习语等,如果有的话?我知道C99和C11标准,但我应该在哪里看?或者,即使OOP和FP成为常态,C风格仍保持不变?

2 个答案:

答案 0 :(得分:4)

C不支持语言级别的 只不过是程序式编程 - 这是一个精确的选择,因为它主要是一个“便携式组件”而且它曾经用来紧密地工作尽可能使用机器(无需借助组装)。 就编程范式而言,大多数汇编语言都没有提供比堆栈和函数调用语句更多的东西(有些微观甚至没有) - 这就是C的模型。

毕竟,C ++和Objective C诞生的原因是:C必须保持其设计理念,并添加更多抽象的东西,人们必须实际分叉语言。

话虽如此,没有什么可以阻止你写作,例如C中的OO代码 - 实际上,很多人这样做(我说它是C语言中最为分散的习语之一),但你不必指望几乎任何语法糖:你必须使用{ {1}}用于数据,“普通”函数用于“模拟”方法,组合用于继承,指针表用于多态,等等。尽管如此,我不知道这是否算作“最后十年”的习惯,它的使用时间要长得多。

答案 1 :(得分:2)

它因文化而异,并且它的演变与我使用的其他语言不同。我见过:

  • 更多类型安全
  • 更好的工具
  • 32/64位兼容代码和固定宽度类型
  • 库,特别是POSIX
  • 更多面向对象

对于每一点都不是新的习语 - 就程序的构建和接近方式而言,这些是源级别的一些更明显的变化。