编程速递-庆祝Delphi诞生30周年!
庆祝Delphi 30周年纪念是一个特别的时刻。
回到1995年,也就是30年前,在微软Windows和互联网时代的曙光初现之时,Borland Delphi的创建者们无法想象,当时使用Borland Delphi构建的应用程序至今仍在运行——为全世界数十亿人服务。
30年后的今天,Borland Delphi已显得过于陈旧,难以与2025年的技术环境共存。新的Windows操作系统、数据库、VCL以及即将到来的人工智能特性,都需要更新的编译器和支持这些特性的现代开发环境,同时还需要提供足够的安全措施以抵御网络威胁。升级到最新的Delphi 12,不仅可以保持原有的生产力优势,还可以通过新技术带来的改进进一步提升应用性能和安全性。
30年前
编程考古-Delphi 30年传奇历程—探索Idera, Inc.与Embarcadero Technologies的发展轨迹
编程考古-传奇的开始Delphi(上)
编程考古-传奇的开始Delphi(中)
编程考古-传奇的开始Delphi(下)含所有版本.iso
一张Delphi团队的户外集体照
以下是Delphi在发布当年的开发者杂志上刊登的三则广告:
正在发生
加入 Ian Barker 和一些非常特别的嘉宾,一同参加我们盛大的30周年庆典活动。我们将一起回顾最受喜爱的编程语言那丰富多彩的历史,共同怀念那些难忘的精彩瞬间,惊叹于我们所取得的进步,并尝试预测未来30年编码世界将会是怎样的景象。
了解更多关于 Embarcadero Technologies 的产品,请访问 Embarcadero 官方网站。
Matthias Eißing
Matthias Eißing, Technical Consultant at Embarcadero DACH
https://blogs.embarcadero.com/matthias-eising-technical-consultant-at-embarcadero-dach/
我们怀着深深的悲痛,向长期共事的同事和朋友 Matthias Eißing 道别。Matthias 于2024年2月14日,享年53岁,突然且意外地离开了我们。
自上世纪90年代初以来,作为自由系统顾问,Matthias 开始接触 Borland 的产品,并从1997年起成为正式员工,致力于多个来自 Borland、Inprise、CodeGear 和 Embarcadero 的软件产品。在所有的技术中,Delphi 是他自从第一个版本发布就一直在使用并最为钟爱的产品。
许多人认识的 Matthias 是一位非常专业和技术娴熟的同事,他的离去留下了巨大的空白。作为所有德语区线上线下活动的主要发言人,Matthias 的知识、技能和支持一直深受客户和同事们的赞赏。
Eugene Kryukov
Eugene Kryukov, ‘Father of FireMonkey’, and incredibly talented developer
https://blogs.embarcadero.com/eugene-kryukov-father-of-firemonkey-and-incredibly-talented-developer/
我们怀着沉重的心情宣布,极具天赋的开发者 Eugene Kryukov 近日突然离世。他是 FireMonkey 之父,并在 Delphi 社区内各个层面都广受尊敬。
通常情况下,总结一位开发者在其短暂的编程生涯中的成就可能相对直接——但 Eugene Kryukov 的情况却远非如此。他的工作充满了创新、创造力和技术专长,以至于几乎无法用言语完全公正地评价这样一位全面且非凡的人才。Eugene Kryukov 的工作使你的开发成为可能。
如果你曾使用过 FireMonkey FMX 框架,那么你的代码就已经被 Eugene 的才华所影响。若你曾在 Linux 系统上顺利运行一个 Delphi GUI 应用程序,那都是因为 Eugene 开发的 FMXLinux 组件使之成为可能。而 CrossVCL,这一将仅限于 Windows 平台的 VCL 应用程序也能够愉快地在 Linux 上运行的惊人解决方案,则是 Eugene 的又一杰作。他让不可能成为了现实。
Eugene 不仅仅是一个开发者;他是一个创造者,通过自己的智慧和努力拓宽了技术的可能性边界。他对技术社区的贡献不可估量,其离去无疑是一个巨大的损失。我们将铭记他的才华与贡献,并继续受益于他留下的宝贵遗产。在这个哀悼的时刻,让我们一同缅怀这位改变了无数开发者生活的杰出人物。
聊...聊
Q:Delphi 1.0的画面为什么是一辆车的仪表盘
A(David I):回到Turbo Pascal时代,在广告中,一个女警拦下一辆高速行驶的保时捷,速度恰恰是delphi的特性之一。在Delphi之前Anders在丹麦有一家以Pascal语言为主的公司,后来被Borland内部协议收购,得到一大笔Money,并且购买了一辆涡轮增压的保时捷。
Q:丹麦似乎只产出糟糕的和优秀的程序员,这是因为?
A(David I):可能与地域有关,丹麦、挪威等类似,冬天的天太黑了,没有别的事情可做,和UK一样,天气太糟糕了,人们总是不愿意出门。
Q:为什么会有下图1的说明
A:Windows当年也是运行在Dos上的一个程序,所以才会有下图的说明1
Q:很多程序员停留在不同版本的Delphi IDE中,比如:Delphi 1.0、Delphi 7.0、Delphi 4.0等
A:特定的业务场景和存量系统,加上Delphi良好的兼容性,造就了这种局面
Marco Cantu'展示Delphi 5 安装包,这个有当时团队成员的签名
David I 展示Borland C++,这个可能是把整套Windows API打印打包
Richard Hatherall展示的Kylix
Q(lan):使用C++是一件很困难的事
A:C++中的Pointer使用时需要特别注意,确定使用C++的是要有很具体的原因,比如对精确性、精准性、可控性上的要求。C++是瑞士军刀,它也是开发语言中的外科手术刀。
不仅屏幕上看到的人,也有很多幕后的人和团队的努力,才有更好的Delphi......
争取参加下一个delphi 30s,不要被放到罐子里^_^
相关文章:

编程速递-庆祝Delphi诞生30周年!
庆祝Delphi 30周年纪念是一个特别的时刻。 回到1995年,也就是30年前,在微软Windows和互联网时代的曙光初现之时,Borland Delphi的创建者们无法想象,当时使用Borland Delphi构建的应用程序至今仍在运行——为全世界数十亿人服务。…...

每天五分钟深度学习框架pytorch:搭建谷歌的Inception网络模块
本文重点 前面我们学习了VGG,从现在开始我们将学习谷歌公司推出的GoogLeNet。当年ImageNet竞赛的第二名是VGG,而第一名就是GoogLeNet,它的模型设计拥有很多的技巧,这个model证明了一件事:用更多的卷积,更深的层次可以得到更好的结构 GoogLeNet的网络结构 如图所示就是Go…...

性能测试流程、主流性能工具
性能测试流程 性能测试流程 测试测试需求分析 性能测试计划和方案 测什么: 测试背景 测试目的 测试范围 谁来测: 进度和分工 交付清单 怎么测: 测试策略 性能测试用例设计 性能测试测试执行 性能分析和调优 性能测试报告 测试报告是…...

DeepSeek4j 已开源,支持思维链,自定义参数,Spring Boot Starter 轻松集成,快速入门!建议收藏
DeepSeek4j Spring Boot Starter 快速入门 简介 DeepSeek4j 是一个专为 Spring Boot 设计的 AI 能力集成启动器,可快速接入 DeepSeek 大模型服务。通过简洁的配置和易用的 API,开发者可轻松实现对话交互功能。 环境要求 JDK 8Spring Boot 2.7Maven/Gr…...

无耳科技 Solon v3.0.8 发布,Java 企业级应用开发框架
Solon 框架! Solon 是新一代,Java 企业级应用开发框架。是杭州无耳科技有限公司的“根级”开源项目(最近“杭州六小龙”很火啊,我们也是杭州的哦)。从零开始构建(No Spring、No Java-EE、No Servlet&#…...

【吾爱出品】针对红警之类老游戏适用WIN10和11的补丁cnc-ddraw7.1汉化版
针对红警之类老游戏适用WIN10和11的补丁cnc-ddraw7.1汉化版 链接:https://pan.xunlei.com/s/VOJ8PZd4avMubnDzHQAeZDxWA1?pwdnjwm# 直接复制到游戏安装目录,保持与游戏主程序同目录下。...
使用 playwright 自定义 js 下载的路径和文件名
遇到一个问题,点击按钮自动下载文件,路径和文件名都不能自定义,可以用 playwright 来解决这个问题 from playwright.sync_api import sync_playwright import os import time class ExcelDownloader: def __init__(self, download_pat…...

Kafka分区管理大师指南:扩容、均衡、迁移与限流全解析
#作者:孙德新 文章目录 分区分配操作(kafka-reassign-partitions.sh)1.1 分区扩容、数据均衡、迁移(kafka-reassign-partitions.sh)1.2、修改topic分区partition的副本数(扩缩容副本)1.3、Partition Reassign场景限流1.4、节点内副本移动到不…...

3.从零开始学会Vue--{{生命周期,工程化,组件化}}
1.生命周期钩子 1.是什么 生命周期 概念:就是一个Vue实例从创建 到 销毁 的整个过程 生命周期包括:① 创建 ② 挂载 ③ 更新 ④ 销毁 四个阶段 1.创建阶段:创建响应式数据 2.挂载阶段:渲染模板 3.更新阶段:修改…...
Python--网络编程
3. 网络编程与Socket 3.1 Socket基础 创建Socket import socket# TCP Socket tcp_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# UDP Socket udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM)服务器端函数 函数描述bind((host, port))绑定…...
【java】方法的基本内存原理(栈和堆)
java内存主要分为栈和堆,方法相关的部分主要在栈内存里,每个方法调用时会在栈里创建一个栈帧,存放局部变量和方法执行的信息。执行完后栈帧被销毁,局部变量消失。而对象实例存在堆里,由垃圾回收器管理。 **Java方法内…...

SQLMesh 系列教程4- 详解模型特点及模型类型
SQLMesh 作为一款强大的数据建模工具,以其灵活的模型设计和高效的增量处理能力脱颖而出。本文将详细介绍 SQLMesh 模型的特点和类型,帮助读者快速了解其强大功能。我们将深入探讨不同模型类型(如增量模型、全量模型、SCD Type 2 等࿰…...

SpringBoot(接受参数相关注解)
文章目录 1.基本介绍2.PathVariable 路径参数获取信息 1.代码实例 1.index.html2.ParameterController.java3.测试 2.细节说明 3.RequestHeader 请求头获取信息 1.代码实例 1.index.html2.ParameterController.java3.测试 2.细节说明 4.RequestParameter 请求获取参数信息 1.…...
hbase合并队列超长问题分析
问题现象 hbase集群合并队列超长,有节点上合并任务已经运行超过1天未结束,合并队列总长不断增加。 问题分析 参数配置: 配置参数默认值含义hbase.hregion.memstore.flush.size128MMemStore达到该值会Flush成StoreFilehbase.hregion.memstore.block.multiplier4当region中…...

FPGA的星辰大海
编者按 时下风头正盛的DeepSeek,正值喜好宏大叙事的米国大统领二次上岗就业,OpenAI、软银、甲骨文等宣布投资高达5000亿美元“星际之门”之际,对比尤为强烈。 某种程度上,,是低成本创新理念的直接落地。 包括来自开源社区的诸多赞誉是,并非体现技术有多“超越”,而是…...

认识vue-admin
认识vue-admin **核心交付:** 为什么要基于现成架子二次开发 什么是二次开发:基于已有的代码(项目工程,脚手架)开进行新功能的开发 所以看懂已有的框架中的既有代码,变得很重要了 1. 背景知识 后台管理系统是一种最…...

STM32、GD32驱动TM1640原理图、源码分享
一、原理图分享 二、源码分享 /************************************************* * copyright: * author:Xupeng * date:2024-07-18 * description: **************************************************/ #include "smg.h"#define DBG_TAG "smg&…...

spring boot 对接aws 的S3 服务,实现上传和查询
1.aws S3介绍 AWS S3(Amazon Simple Storage Service)是亚马逊提供的一种对象存储服务,旨在提供可扩展、高可用性和安全的数据存储解决方案。以下是AWS S3的一些主要特点和功能: 1.1. 对象存储 对象存储模型:S3使用…...

PH热榜 | 2025-02-12
1. FirstHR 2.0 with HR Copilot 标语:小型企业的一站式人力资源平台 介绍:对小型企业来说,FirstHR是一个人力资源平台,专注于招聘和团队发展,并融合了一点人工智能技术。 产品网站: 立即访问 Product …...
通过例子学 rust 个人精简版 1-1
1-1 Hello World fn main() {println!("Hello World!");// 动手试一试println!("Im a Rustacean!"); }Hello World! Im a Rustacean!要点1 :println 自带换行符 注释 fn main() {let x 5 /* 90 */ 5;println!("Is x 10 or 100? x …...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...