【问题标题】:Reusable knowledge going from Embedded to Desktop从嵌入式到桌面的可重用知识
【发布时间】:2010-10-13 20:38:01
【问题描述】:

在嵌入式电信系统开发(C、MAKE、Symbian、100 种编译器等)工作了大约 8 年后,我正在考虑通过进入桌面开发(VC++、MFC、C# 等)“稍微”改变我的道路.

然而,我担心的是,我在嵌入式系统方面的经验在进入桌面开发时可能不会给我带来太多价值。例如,我工作了这么长时间的特定领域问题和环境仍然没有给我太多谈判薪水的机会,因为它在桌面上几乎没有价值。

我认为这个地方可能适合在这方面提供意见。

所以,问:

如果您忽略编程语言级别的明显通用经验,请举例说明您在使用嵌入式系统时学到的东西,您可以在桌面环境中重复使用这些东西。

PS: 我应该指出,我不是桌面领域的初学者——因为多年前我所有的爱好项目都集中在桌面开发上。

【问题讨论】:

    标签: embedded desktop reusability


    【解决方案1】:

    在验证操作和处理有限资源时,嵌入式工程师通常会更加自律。

    这也可以转化为更早提出异常处理策略。

    典型的例子是检查 malloc 的返回值。我见过很少有桌面软件能持续检查它,但它在嵌入式环境中很常见。

    【讨论】:

      【解决方案2】:

      拥有一套干净、组织良好的源代码的纪律是很好地转化为“桌面体验”的关键技能。 -- 我注意到我编写和学习的嵌入式项目通常比桌面项目干净得多。

      【讨论】:

        【解决方案3】:

        许多仅使用桌面的开发人员可以从使程序适合 128K 的 FLASH 和 32K 的 SRAM 的经验中受益,更不用说仅通过一两个 LED 和几个按钮与用户进行有意义的交流了。提出这一要求可能会减少应用程序行业中的一些地方性代码膨胀。 :-)

        即使您不转向直接的应用程序开发,嵌入式体验也可以很好地转化为驱动程序开发、低级实用程序和长期运行的服务。在所有这些领域,对于成功的嵌入式开发人员而言,这些学科几乎是次要的学科仍然很有价值。

        【讨论】:

          【解决方案4】:

          在切换到嵌入式环境之前,我做了将近 5 年的桌面开发人员。 我发现在嵌入式环境中工作更具挑战性,因为我们必须处理内存限制、CPU 速度慢、交叉编译问题等问题。

          已经学会了很多耐心、纪律和低级的复杂性,桌面开发应该像在公园里散步一样容易。

          【讨论】:

            【解决方案5】:

            嵌入式系统上的状态机/事件驱动编程与桌面上的事件驱动编程没有什么不同。您在嵌入式系统(尤其是电信嵌入式系统)上对这些编码技术的丰富经验应该会让您成为一名出色的桌面程序员。

            同样,您对通信协议的体验应该很好地转移到桌面上。大多数桌面应用程序都与网络有关。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-11-18
              相关资源
              最近更新 更多