Embarcadero专访克罗地亚共和国Delphi美女程序员:达利娅.普拉尼卡(Dalija Prasnikar)

成为开发人员 Dalija Prasnikar 是什么感觉? 英雄形象

你好。这篇文章是我们与专业软件开发人员交谈的系列文章的一部分,询问他们以编写代码为生是什么感觉,并可能在此过程中获得对软件开发行业的一些见解。

在我们今天的采访椅子上,我们有非常了不起的 Dalija Prasnikar。达利娅生活在克罗地亚历史悠久、风景如画的 Zageb 市。稍后您会听到更多关于达利娅的开发背景的信息,但她还是一位多才多艺的摄影师,也是一些伟大的编程书籍的受人尊敬的作者。你可以看出她是一名合格的编码员——她是迄今为止唯一一个使用MarkDown返回答案的

达利娅,感谢您同意参加采访!

谢谢  

关于你是谁和你做什么的简短介绍是什么?

软件开发人员、顾问、书籍作者、Embarcadero MVP。自 85 年以来,撞毁其他人的软件并编写自己的软件。

您 a) 最常 b) 经常使用哪种 Embarcadero 产品?

当然是Delphi。

您是如何和/或为什么成为开发人员的?

当我还是个孩子的时候,我想成为一名宇航员。我真的很喜欢太空、天文学、科学……以及任何与它们相关的东西。当我大约九岁的时候,我记得看的第一个科幻系列是电视连续剧《布莱克七号》。我最喜欢的角色是 Kerr Avon。一个非常聪明,讽刺的计算机天才。在剧集一开始,他就说“谁控制电脑,谁控制飞船”,这是“我想当宇航员”演变成“我想控制电脑”的关键时刻。

当然,在现实生活中,作为一名开发人员,知道我现在所知道的,控制计算机和飞船真的是一种幻觉。更多的时候,情况正好相反。这也是我从不完全相信任何与技术相关的东西的原因。

您认为您将永远不再从事开发吗?如果是这样,接下来会是什么?

我可能会成为一名农民……但我会成为一名将编写代码作为业余爱好的农民。[我也是!我们都应该和开发者同行Alister Christie谈谈——他住在一个生活方式街区——IanB]

是什么让您开始使用 Delphi/C++ Builder?

我在高中学习了 Turbo Pascal,它很快成为我最喜欢的语言。它可以做 C 可以做的所有事情,而且速度要快得多——不仅在编写代码方面,而且在编译方面也是如此。

我的职业生涯始于 BYTE 克罗地亚(McGraw-Hill 许可持有者)的 IT 记者和 MIPS 计算机杂志的编辑。随着 90 年代 Internet 和在线出版的兴起,我转向了 Web 开发。在开始使用 Delphi 之前,我使用的是 Java 和 JavaScript。来自 Turbo Pascal,我也一直使用它来编写各种实用程序和网页生成器,Delphi 是开发 Windows 应用程序的自然选择。

成为开发人员 Dalija Prasnikar 是什么感觉? 达利加的图片

达利娅,全面开启 MVP 模式!

你目前在做什么?

如您所知,我已经写了两本 Delphi 书籍:《Delphi Memory Management》 和 《Delphi Event-based and Asynchronous Programming》。

我喜欢写书。这是一个分享知识的机会,也是一个学习的机会。无论您对某个主题了解多少,总会有一些阴暗的角落需要您了解一下,以便向他人正确解释。

写完第二个之后,换到第五档就很容易了,所以我正在写更多的 Delphi 书籍。我还没有任何其他细节可以分享。
但是,是的,即将出现新的 Delphi 书籍。

您建议先学习哪种编程语言?

英语  

如果您可以给正在考虑从事软件开发人员职业的学生一些建议,那会是什么?

从阅读书籍开始学习。首先了解概念和算法。编程语言是次要的。它们都受其实现的限制,通过编程语言学习概念通常会导致误解。因为不同的语言以不同的方式实现相同的概念,所以通常用于一种语言的编码模式不一定适用于另一种语言。

不要让规则统治你。良好的实践和规则比硬编码规则更具有指导意义。它们旨在帮助开发人员执行常见任务。当规则成为负担的那一刻,你应该停止应用它。然而,这是一把双刃剑,人们经常将其解释为允许在任何地方违反规则,因为他们不完全理解特定规则背后的推理。此外,随着时间的推移,规则和实践不断发展,出于某种原因,曾经的良好实践可能不再那么好。

成为开发人员 Dalija Prasnikar 是什么感觉? 达利娅的一本书

达利娅非常受欢迎的“基于事件和异步编程”的书可以在这里订购:https ://dalija.prasnikar.info/delphiebap/index.html

简单的代码胜过聪明的代码。如果你不能用简单的代码实现一些东西,那么——只有这样——你可以应用聪明的技巧。写下聪明的代码做什么以及为什么这样做很重要,因为你很快就会忘记它。当然,解释可以让其他人更容易地理解你的代码。

经验不会阻止你编写愚蠢的代码和犯愚蠢的错误。经验可以帮助您尽早发现并承认此类错误,而这是解决这些错误的第一步。

活到老学到老。

开发者的座右铭

开发人员不是绝地大师。“做。或者不要。没有尝试,”不起作用。它是“如果一开始你没有成功,尝试,尝试,尝试,尝试……尝试,尝试,再试一次。”

编程的时候你使用制表符TAB键……还是空格键?(在美剧《硅谷》中,曾上演过一个编程时应该用“空格”还是“Tab 键”的著名场景。这场旷日持久的争议,最近又得到了微软首席云倡导者、兼 DevOps 领导人 Abel Wang 的加入。

空格键。

缩进样式

Allman 表示支持语言,GNU 表示 Pascal。区别在于块缩进,其中 begin..end 需要额外的缩进以进行更清晰的分离。

作为开发人员,您度过的最美好的一天是什么?

有很多……很难选择一个。

作为开发人员最糟糕的事情是什么?

你永远不会停止在脑海中编码。

你知道的最酷的开发技巧是什么?

如果你被困住了,洗澡、散步、睡觉……做任何让你放松的事情。

在家工作、在办公室工作、在开放式计划/共享空间工作?你更喜欢什么,为什么?你可以选择吗?

在家里工作。更舒适的设置。它不会浪费时间在通勤上。你自己的厕所。您可以在不改变习惯的情况下度过大流行。

告诉我们一些您认为我们可能不知道的有趣事情。

我在高中使用的第一个 Turbo Pascal 版本是在 CP/M 上运行的。我也是第一代在课程中没有 COBOL 的高中生。

如果你可以挥动“修复科技行业”的魔杖,你会改变什么?

我会创建一个更大的字节蝙蝠!(对于那些不知道我在说什么的人,在 80 年代有一种橡胶棒球棒,您可以用它击打愚蠢的计算机而不会损坏任何东西。) 

Dalija 的网站为您提供了有关她活泼个性的提示!

如果您可以说服某人考虑使用 Delphi 或 C++ Builder,您的方法是什么,您会怎么做?

我一直喜欢 Turbo Pascal 和后来的 Delphi 的事实是,它是一种非常通用的语言 - 不仅适合开发截然不同的应用程序,而且还允许您在非常不同的抽象级别上进行编程.

您可以将其用作 RAD 工具,用于快速原型设计和开发。您可以编写和使用高度抽象的框架,只需几行代码即可实现目标。然而,您仍然可以一直深入到操作系统级别并直接与操作系统 API 交互。在 Windows 平台上,你甚至可以更深入地直接编写汇编代码。

我真的很喜欢那个内置汇编部分。我现在不太会使用它,但在我很少使用它的情况下,我非常高兴它在那里。

我不确定这是否真的是一个非常有说服力的论点。也许这是过去的遗物,当时进入汇编级别的能力是一个极大的优势,但我只是喜欢这种灵活性。

您希望自己发明/设计哪种技术产品,为什么?

当我还是个孩子的时候,在看过Blake's 7 之后,我觉得把他们的电脑 Zen 放在手表里会很酷,所以我画了很多图来展示手表的样子。这样算吗?[绝对!– IanB,我也是布雷克 7 的粉丝!!!]

如果可以重来,你还会做开发者吗?为什么?

是的。控制飞船…

你一天喝多少咖啡,够喝吗?

很多。永远不够。

您是一个编码到深夜的夜鹰,还是一个早起并进入或遵守某种常规办公时间的早起人?

每当灵感来临时!

在您的职业生涯中,您是否曾经“熬夜”来处理绝对必须完成的事情?

是的。但不像我在出版时那样多次。我在那里最长的熬夜大约是 30 小时。

描述你在职业生涯中做过的其他一些事情,这些事情可能会让读者了解成为开发人员的背景。

我也是一名摄影师。我自己认为… 

What Is It Like To Be A Developer Dalija Prasnikar? Dalija. being a photographer

 

Dalija,绝对是一名摄影师

 

 

你被问到的最愚蠢的问题是什么(这些都不算数!)

需要花多长时间写完这个软件?

您为与客户的合作报价吗?如果你这样做了,没有透露任何会让你不舒服的东西,你使用什么样的过程?

按小时收费。固定费用仅适用于进行“模板”定制,即您拥有可以定制的产品,并且定制包含非常具体、已知和可预测的步骤。

您如何阻止客户/项目经理/经理“功能蔓延”?

通过说完成它需要多长时间。

为您描述一个典型的编码会话。它是如何开始的?你休息吗?你有什么仪式/习惯来陪伴它吗?

成为开发人员 Dalija Prasnikar 是什么感觉? Dalija 的内存管理书

这本优秀的书可以从这里订购:https : //dalija.prasnikar.info/delphimm/

取决于我在做什么——我是在编写新代码、调试还是在写书。最常见的主题是我经常谷歌并阅读大量文档。

我在写作时会休息一下,因为在写东西之前你经常需要停下来思考。短暂的休息让您有机会重新思考并确保您没有走错方向。

另一方面,调试不喜欢中断,尤其是当您跟踪一些难以捉摸的 Heisenbug 时。你经常需要在头脑中跟踪大量的代码逻辑,任何分心或中断都会很容易地抹去所有这些,你将需要重新开始。

你在编码时听音乐吗?如果是这样,你能告诉我们一些曲目/艺术家/表演吗?

有时。电影主题、80 年代流行和摇滚……当我的孩子还小的时候,我一边工作一边照看孩子,包括整天听帝国时代或定居者 IV 的音乐。

您是否使用任何方法或技术,例如敏捷、Scrum、看板、TDD?如果是这样,为什么?如果不是,为什么?

简短的回答:是的。这取决于项目。

长答案:这是一个狡猾的问题。[嗯,发现了!  –伊恩]

任何提到的技术都有许多变体(或者,至少,人们以自由式的方式应用它们)。对上述任何一项说“是”,并不意味着您完全按照给定的流程进行操作。这并不意味着使用一个优于另一个。就像好的编码实践不是凭空存在的,它们的主要目的是帮助您实现最终目标,项目和质量管理实践也只是同一过程的一部分。如果过程成为它自己的目的,那么您就失去了实现最终目标的能力:完成功能性、可维护性、高质量的软件。

这就是为什么我讨厌命名流程的各个部分,因为它从来都不是一成不变的,它会适应项目和团队的要求。

你跟踪错误吗?如果你这样做,你有什么建议?

不,我当场杀死他们。有时这会将它们变成僵尸虫。

优秀的软件开发人员:

一个生硬的开发人员,否则他们会一团糟。

一个糟糕的软件开发人员:

我,昨天  

iPhone、Android、其他——为什么?

我没有智能电话。太多的分心。

对于开发人员:PC 还是 Mac?为什么?

PC,因为 Turbo Pascal 和 Delphi 在 PC 上运行。如今,我使用 Mac 进行 iOS 和 macOS 开发,但它从未真正在我身上成长。我并不是说 Windows 是完美的——远非如此——但我更习惯于它的怪癖。我无法习惯 macOS 上的那些。

 

你希望被人记住的一件事是什么?

What Is It Like To Be A Developer Dalija Prasnikar? Dalija, with THAT hat :)

我的帽子!  

最好的开发者/黑客/技术/极客电影是什么?

最好的开发人员书籍怎么样?《银河系漫游指南》

说到电影,我可能会说回到未来星球大战:新希望,但科幻系列是最好的。很难给它们打分,因为我喜欢的每一个都是独一无二的:布莱克 7太空堡垒卡拉狄加星际迷航星际之门……

任何开发人员都应该看到:____________________________

一台电脑!

如果拍一部关于你生活的电影,你想让谁扮演你?

1995年的安吉丽娜朱莉。  

你有一个人们可以访问的网站,如果有,它是什么?

Dalija Prasnikar

如果您使用 Twitter,您的 Twitter 句柄是什么?

@达利贾普

您首选的潜在客户联系方式是什么?

PRASNIKAR.info


RAD Studio 11 的新功能


使用 RAD Studio、Delphi 或 C++Builder 缩短开发时间并更快地进入市场。
设计。编程。编译。部署。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值