忽有庞然大物,拔山倒树而来 – 盖RAD Studio 12.2是也

news2024/10/2 11:20:58

忽有庞然大物,拔山倒树而来 – 盖RAD Studio 12.2是也
    


不知为什么, 在看到RAD Studio 12.2推出的新功能之后, 脑中出现的第1个反应就是小时候唸的”忽有庞然大物,拔山倒树而来” 这句话, 因为12.2的新功能出乎我意料之外的巨大, 根本不象是一个0.2小版本会提供的功能, 反而象是一个主要版本才会有的进步.
原本以为12.2版应该只是改改bug, 把iOS/Android加入支援新版SDk和iOS/Android/Windows平台上新的规范要求, 最后再改善除错器功能, 这些能够完成就已经很对得起一个0.2小版本更新的要求了. 但这次英巴实在太令人惊喜了.

先简单说说RAD Studio 12.2做了那些新功能, 除了上面就的之外, 12.2还提供了:
 2个全新的64位元编译器, 哇, 这已经是非常巨大的工程量了
 数个重要的编辑器功能, 专心模式, 新的LSP功能, 新的Code Insight功能, 滚动条注释
 新的重构(Refactoring))功能
 WebStencils样版函式库, 这也是一个巨大的工程量
 以及本文的重点, 人工智能功能 – Smart CodeInsight
RAD Studio 12.2的Smart CodeInsight正式把人工智能功能整合进了IDE, 让Delphi/C++Builder的程序师能够在工作环境中无缝的使用人工智能, 这老实说实在是令我非常震撼.  虽然人工智能从今年以来就话题不断, 从ChatGPT/Gemini, 辉达, 生成式AI, 人形机器人, 再到AI概念股(抱歉扯远了, 不过相信看得懂的人今年都赚翻了),  我也看到生成式AI在许多电子新闻的实际应用. 但现在AI正式在我们每日开发的工作环境中即可使用, 对我而言感觉相当特别.

Smart CodeInsight到底对我们Delphi/C++Builder开发人员有什么帮助呢? 如果您还没有概念的话, 我就用几个简单的范例来说明一下吧, 首先我将从如何于12.2 IDE中设定Smart CodeInsight说起, 因为要设定好我们才能够在IDE中使用AI服务. 
⦁    如何在IDE中设定Smart CodeInsight
如果您已然安装好12.2, 那么您先参考下面的连结说明来完成您想使用的AI服务
https://docwiki.embarcadero.com/RADStudio/Athens/en/Smart_CodeInsight_Options
首先您需要申请并取得您使用的AI服务的API Key, 然后在Smart CodeInsight设定页面中选择您使用的特定AI服务供应商, 参考上面连结的建议设定并填入您的API Key:
 
⦁    如何在IDE中使用Smart CodeInsight
在IDE的程序码编辑器中您可以按下滑鼠右键即可看到Smart CodeInsight
 
⦁    Smart CodeInsight能够帮助我们(程序师)做什么
很多, 很多, 但12.2已经帮您整合了一些重要的功能, 例如您可以藉由AI来找程序中的bug, 最佳化您的程序码(这些已经够方便又令人吃惊了)以及在不同的程序语言之间转换.
 
此外您可和后端的AI服务供应商(这里是ChatGPT)对话互动寻求AI帮助, 例如下面我要在Delphi中使用Observer设计样例, ChatGPT直接可产生Delphi程序码:
 
天, 伴随我近20多年手边的Design Patterns一书可以封存了, 书中的C/C++语言ChaptGPT也可自动转为Delphi语言了, 说真的这个功能就对我很有帮助.
⦁    Embarcadero为何如此设计Smart CodeInsight
12.2 的Smart CodeInsight内定上就支援了数个AI服务可让您自由选择您想用的AI服务供应商, 例如ChatGPT, Ollama, Gemini和Claude. 一如Delphi/C++Builder良好的惯例, RAD Studio一向采取开放架构, 并不把您朽绑定在特定的AI服务供应商. 更重要的是如果您不相信AI, 您大可以完全关闭此功能.
 
Embarcadero为何如此设计Smart CodeInsight? 答案可从年初的Developer Surveys得来. 在此可和各位分享一下, 从年初的Developer Surveys结果可以看到RAD Studio的开发人员对AI有非常高的兴趣, 因此英巴开发了Smart CodeInsight, 但是仍有40%左右的开发人员有点担心AI的安全性, 因此英巴采取了使用AI的开放架构并且允许开发人员完全关闭AI功能.
 
但对我个人而言, Smart CodeInsight实在非常重要而且有用, 也是Delphi/C++Builder开发人员跟上未来的重要功能.
⦁    Smart CodeInsight对于未来的影响
Smart CodeInsight对Delphi/C++Builder开发人员应该有非常重要的应用和影响, 例如目前由于程序码安全和安全法规的要求, OWASP近年来不断的被要求的重视. 虽然OWASP大多是对于Web安全的要求, 但其中一些规范对于一般的应用也有高度相关, 例如SQL Injection, Poor/Improper等等. 此外也有愈来愈多的公司要求对程序码进行安全扫瞄和产生安全报告/报表等等. 有了Smart CodeInsight, 您可以打造客制化应用, 训练您的模型, 以运用AI服务自动完成这些重要的企业/安全规范要求, 这将完全改变我们开发人员的部份工作模式.
本文简略的说明了RAD Studio 12.2的新功能, 特别是Smart CodeInsight, 希望能帮助Delphi/C++Builder开发人员了解12.2的重要性, 在此也欢迎有兴趣的朋友参加10月17日的RAD Studio 12.2 产品说明会, 在会中有更多其他功能的说明.
最后我的朋友说, 一句” 忽有庞然大物,拔山倒树而来”就泄漏了我的年龄, 我回无所谓也, 因为在AI面前, 我们都是1岁, 盖2024仍AI元年也!
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2184293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

攻防世界---->SignIn

做题笔记。 下载 查壳。 64ida打开。 先运行一下程序: 那么,我们可以直接查找字符串看看,锁定位置。 ### 纠正一下:应该是 n 值 不是d值 n p*q 。。。### ### v6的值 应该就是 我们func(input,49) 进行加密后的值。 (猜测的&a…

《向量数据库指南》——非结构化数据挑战升级:如何高效导入向量数据库?

哈哈,说到 AI 应用中的非结构化数据处理,这可真是个让人又爱又恨的话题啊!今天呢,咱就聊聊这个话题,尤其是那个让人头疼的如何将各种数据源和格式的非结构化数据导入向量数据库的问题。 非结构化数据处理:挑战与复杂性 在 AI 应用领域,非结构化数据无处不在,从社交媒…

【递归】11. leetcode 129 求根节点到叶节点数字之和

1 题目描述 题目链接: 求根节点到叶节点数字之和 2 解答思路 第一步:挖掘出相同的子问题 (关系到具体函数头的设计) 第二步:只关心具体子问题做了什么 (关系到具体函数体怎么写,是一个宏观…

Vue3实现动态菜单功能

文章目录 0.效果演示1.搭建Vue3项目1.1 vite 脚手架创建 Vue3 项目1.2 设置文件别名1.3 安装配置 element-plus1.4 安装配置路由2.登录页面3.后台管理页面3.1 搭建后台框架3.2 左侧菜单栏3.3 header 用户信息3.4 主要内容3.5 footer4.配置静态路由5.记录激活菜单5.1 el-menu 绑…

解析双亲委派机制源码

剖析ClassLoader源码,理解双亲委派机制 双亲委派机制是Java的类加载器在处理加载类的任务时的一种分配机制,可以防止类被重复加载或者出现手写类代替系统类的风险,上篇已经全面介绍了双亲委派机制,本篇我们从ClassLoader抽象类的源…

Ubuntu22.04之测试两个IP地址的网速(二百七十一)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…

微信小程序操作蓝牙

主要流程: 1.初始化蓝牙适配器openBluetoothAdapter,如果不成功就onBluetoothAdapterStateChange监听蓝牙适配器状态变化事件 2.startBluetoothDevicesDiscovery开始搜寻附近的蓝牙外围设备 3.onBluetoothDeviceFound监听寻找到新设备的事件,…

制造业该如何应用大数据?

​收到一位朋友私信,提问“制造业该如何应用大数据”?我觉得这个问题非常好,而且这也将是未来机械专业领域的一个重要突破口。 而传统制造企业与计算机、互联网行业的最佳结合点就在这里。 如果你没有真正的去实施过一个企业的信息化项目&a…

【重学 MySQL】四十五、数据库的创建、修改与删除

【重学 MySQL】四十五、数据库的创建、修改与删除 一条数据存储的过程数据输入数据验证数据处理数据存储数据持久化反馈与日志注意事项 标识符命名规则基本规则长度限制保留字与特殊字符命名建议示例 MySQL 中的数据类型创建数据库创建数据库时指定字符集和排序规则 查看数据库…

[Linux]开发环境搭建

RPM和YUM 安装JDK 安装Tomcat 安装IDEA 安装MySql

代码随想录算法训练营Day20 | 235. 二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

目录 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点 235. 二叉搜索树的最近公共祖先 题目 235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先…

Yocto - 使用Yocto开发嵌入式Linux系统_05 认识Bitbake工具

Meeting the BitBake Tool 通过本章,我们将开始学习 Yocto 项目引擎如何在幕后工作的旅程。正如每一段旅程一样,沟通是至关重要的,因此我们需要理解 Yocto 项目工具所使用的语言,并学习如何充分利用这些工具来实现我们的目标。 Wi…

网页前端开发之Javascript入门篇(3/9):条件控制

Javascript条件控制 什么是条件控制? 答:其概念跟 Python教程 介绍的一样,只是语法上有所变化。 参考流程图如下: 其对应语法: var button false; // 开关状态 console.log("检查开关.."); if(bu…

一文掌握Harbor镜像同步公有云镜像仓库实践

一文掌握Harbor镜像同步公有云镜像仓库实践 目录 1 引言2 概念 2.1 Harbor2.2 阿里云的镜像仓库ACR2.3 华为云的镜像仓库SWR2.4 Harbor复制管理同步镜像 2.4.1 复制管理的工作原理 2.5 Harbor同步镜像到公有云镜像仓库的优势 3 实验:通过Harbor 将容器镜像同步到公…

刷题系统小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,知识点管理,科目类型管理,试题管理,试卷管理,系统管理 微信端账号功能包括:系统首页,我的 开发系统&#…

vulnhub-W34kn3ss 1靶机

vulnhub:https://www.vulnhub.com/entry/w34kn3ss-1,270/ 导入靶机,扫描 靶机开在192.168.81.7.扫描端口 扫到三个端口,存在网站服务,访问 80端口没什么东西,443似乎访问到的是同一个界面,这种情况下一般是…

Visual Studio C# 处理和修复 WinRiver II 测量项目 MMT 文件错误

Visual Studio C# 处理和修复 WinRiver II 测量项目 MMT 文件错误 前言一、WinRiver II 测量项目 MMT 文件的结构二、WinRiver II 无法打开或操作测量项目 MMT 文件2.1 无法载入船测多线法测量文件2.2 可以载入测验项目 MMT 文件,但 ADCP 后处理软件无法写入信息2.3…

基于SpringBoot+vue的监理公司信息化管理系统设计与实现

目录 1. 系统概述 2. 技术选型 3. 系统模块设计 3.1 收入支出管理 3.2 合同管理 3.3 财务统计 3.4 甲方乙方公告 4. 安全性考虑 5. 效果展示和示例代码 6. 总结 1. 系统概述 随着经济的快速发展和社会的进步,建筑行业作为国民经济的重要支柱产业之…

[MAUI]数据绑定和MVVM:MVVM的属性验证

一、MVVM的属性验证案例 Toolkit.Mvvm框架中的ObservableValidator类,提供了属性验证功能,可以使用我们熟悉的验证特性对属性的值进行验证,并将错误属性提取和反馈给UI层。以下案例实现对UI层的姓名和年龄两个输入框,进行表单提交验证。实现效果如下所示 View<ContentP…

医院体检管理系统小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;体检分类管理&#xff0c;体检套餐管理&#xff0c;体检预约管理&#xff0c;体检报告管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;体检套餐&a…