这是知乎上的一个问题(www.zhihu.com/question/61… 我随手写了几句,转到此处。

结论是不会

计算器和计算机筛选了算盘,催生了新的职业,掌握新技能的人筛选了默守陈规的人。

人工智能真的会让程序员在5年内失业吗?

被筛选的是没有跟随技术开展的人。

人工智能的开展,只会让程序员的日子越来越好过,而不是被筛选。

首先这会引领大批的程序员投身人工智能范畴,人力朝着更能促进生产力开展的方向去流动是社会进步的体现。

其次,人工智能会改变传统的东西链,生态,产品形态,程序员的工作方式,会让程序员以愈加高效、智能、高质量的方式去工作。

所以咱们不用忧虑是否被筛选,而是要坚持好奇心,坚持进取心。大部分人不能引领潮流,可是至少不要被潮流丢弃。

举个例子

举一个和我工作比较相关的例子,我每天都在和各式各样的图表打交道,咱们运用图表的方式是根据需求,定制各种装备。以最近开源的VisActor为例,假如咱们想运用图表库或许表格组件库咱们要做什么呢?

传统流程

  1. 拜访网站 ,www.visactor.io/vchart或许www.visactor.io/vtable

  2. 检查demo

人工智能真的会让程序员在5年内失业吗?

人工智能真的会让程序员在5年内失业吗?

  1. 检查各种文档

人工智能真的会让程序员在5年内失业吗?

人工智能真的会让程序员在5年内失业吗?

  1. 上手测试

熟悉图表的各种装备,对照文档来学习(demo 来自www.visactor.io/vchart/demo…)。

const goldenMedals = {
  2000: [
    { country: 'USA', value: 37 },
    { country: 'Russia', value: 32 },
    { country: 'China', value: 28 },
    { country: 'Australia', value: 16 },
    { country: 'Germany', value: 13 },
    { country: 'France', value: 13 },
    { country: 'Italy', value: 13 },
    { country: 'Netherlands', value: 12 },
    { country: 'Cuba', value: 11 },
    { country: 'U.K.', value: 11 }
  ],
  2004: [
    { country: 'USA', value: 36 },
    { country: 'China', value: 32 },
    { country: 'Russia', value: 28 },
    { country: 'Australia', value: 17 },
    { country: 'Japan', value: 16 },
    { country: 'Germany', value: 13 },
    { country: 'France', value: 11 },
    { country: 'Italy', value: 10 },
    { country: 'South Korea', value: 9 },
    { country: 'U.K.', value: 9 }
  ],
  2008: [
    { country: 'China', value: 48 },
    { country: 'USA', value: 36 },
    { country: 'Russia', value: 24 },
    { country: 'U.K.', value: 19 },
    { country: 'Germany', value: 16 },
    { country: 'Australia', value: 14 },
    { country: 'South Korea', value: 13 },
    { country: 'Japan', value: 9 },
    { country: 'Italy', value: 8 },
    { country: 'France', value: 7 }
  ],
  2012: [
    { country: 'USA', value: 46 },
    { country: 'China', value: 39 },
    { country: 'U.K.', value: 29 },
    { country: 'Russia', value: 19 },
    { country: 'South Korea', value: 13 },
    { country: 'Germany', value: 11 },
    { country: 'France', value: 11 },
    { country: 'Australia', value: 8 },
    { country: 'Italy', value: 8 },
    { country: 'Hungary', value: 8 }
  ],
  2016: [
    { country: 'USA', value: 46 },
    { country: 'U.K.', value: 27 },
    { country: 'China', value: 26 },
    { country: 'Russia', value: 19 },
    { country: 'Germany', value: 17 },
    { country: 'Japan', value: 12 },
    { country: 'France', value: 10 },
    { country: 'South Korea', value: 9 },
    { country: 'Italy', value: 8 },
    { country: 'Australia', value: 8 }
  ],
  2020: [
    { country: 'USA', value: 39 },
    { country: 'China', value: 38 },
    { country: 'Japan', value: 27 },
    { country: 'U.K.', value: 22 },
    { country: 'Russian Olympic Committee', value: 20 },
    { country: 'Australia', value: 17 },
    { country: 'Netherlands', value: 10 },
    { country: 'France', value: 10 },
    { country: 'Germany', value: 10 },
    { country: 'Italy', value: 10 }
  ]
};
const dataSpecs = Object.keys(goldenMedals).map(year => {
  return {
    data: [
      {
        id: 'id',
        values: goldenMedals[year].sort((a, b) => b.value - a.value)
      },
      {
        id: 'year',
        values: [{ year }]
      }
    ]
  };
});
const duration = 2000;
const spec = {
  type: 'bar',
  padding: {
    top: 12,
    right: 100,
    bottom: 12
  },
  data: dataSpecs[0].data,
  direction: 'horizontal',
  yField: 'country',
  xField: 'value',
  seriesField: 'country',
  axes: [
    {
      animation: true,
      orient: 'bottom',
      type: 'linear',
      visible: true,
      grid: {
        visible: true
      }
    },
    {
      animation: true,
      id: 'axis-left',
      orient: 'left',
      width: 130,
      tick: { visible: false },
      label: { visible: true },
      type: 'band'
    }
  ],
  title: {
    visible: true,
    text: 'Top 10 Olympic Gold Medals by Country Since 2000'
  },
  animationUpdate: {
    bar: [
      {
        type: 'update',
        options: { excludeChannels: ['x', 'y'] },
        duration
      },
      {
        channel: ['x', 'y'],
        options: { excludeChannels: ['width'] },
        duration: 500
      }
    ],
    axis: {
      duration: 500,
      easing: 'linear'
    }
  },
  customMark: [
    {
      type: 'text',
      dataId: 'year',
      style: {
        textBaseline: 'bottom',
        fontSize: 200,
        textAlign: 'right',
        fontFamily: 'PingFang SC',
        fontWeight: 600,
        text: datum => datum.year,
        x: () => {
          return vchart.getChart().getCanvasRect()?.width - 50;
        },
        y: () => {
          return vchart.getChart().getCanvasRect()?.height - 50;
        },
        fill: 'grey',
        fillOpacity: 0.5
      }
    }
  ],
  player: {
    type: 'continuous',
    orient: 'bottom',
    auto: true,
    loop: true,
    dx: 80,
    position: 'middle',
    interval: duration,
    specs: dataSpecs,
    slider: {
      railStyle: {
        height: 6
      }
    },
    controller: {
      backward: {
        style: {
          size: 12
        }
      },
      forward: {
        style: {
          size: 12
        }
      },
      start: {
        order: 1,
        position: 'end'
      }
    }
  }
};
const vchart = new VChart(spec, { dom: CONTAINER_ID });
vchart.renderAsync();
// Just for the convenience of console debugging, DO NOT COPY!
window['vchart'] = vchart;

人工智能真的会让程序员在5年内失业吗?

  1. 应用到项目中

根据实践的项目需求定制功用。

是不是可以更智能一点呢?

咱们做了这些基础研制之后,觉得假如和人工智能结合,图表的应用流程可以有更简洁的方式,也许用户只需要告诉咱们他们想要什么就可以了。咱们设想了一个初级的原型:

人工智能真的会让程序员在5年内失业吗?

例如,咱们想运用下面的产品销售额数据,展现不同区域各产品销售额:

产品名称 region 销售额
可乐 south 2350
可乐 east 1027
可乐 west 1027
可乐 north 1027
雪碧 south 215
雪碧 east 654
雪碧 west 159
雪碧 north 28
芬达 south 345
芬达 east 654
芬达 west 2100
芬达 north 1679
夺目 south 1476
夺目 east 830
夺目 west 532
夺目 north 498

运用以下代码,取得图表spec:

const csvData=`产品名称,region,销售额
可乐,south,2350
可乐,east,1027
可乐,west,1027
可乐,north,1027
雪碧,south,215
雪碧,east,654
雪碧,west,159
雪碧,north,28
芬达,south,345
芬达,east,654
芬达,west,2100
芬达,north,1679
夺目,south,1476
夺目,east,830
夺目,west,532
夺目,north,498`
const describe='帮我展现不同区域各产品销售额'
const { spec, time } = await (vmind.generateChart(csvData, describe)); //图表智能生成,传入您的csv格局的数据和图表描绘,回来图表spec和图表动画时长

接下来,咱们就可以运用VChart制作生成的图表。 在绘图前咱们需要为 VChart 预备一个具有高宽的 DOM 容器

<body>
  <!-- 为 vchart 预备一个具有巨细(宽高)的 DOM,当然你也可以在 spec 装备中指定 -->
  <div id="chart" style="width: 600px;height:400px;"></div>
</body>

接下来,咱们创建一个VChart实例,传入刚刚生成的spec和 DOM 容器的 ID:

// 创建 vchart 实例
const vchart = new VChart(spec, { dom: 'chart' });
// 制作
vchart.renderAsync();

生成的图表如下:

咱们还可对图表提更多的要求,例如:

const describe='帮我展现不同区域各产品销售额,运用折线图,region做x轴'
const { spec, time } = await (vmind.generateChart(csvData, describe)); //图表智能生成,传入您的csv格局的数据和图表描绘,回来图表spec和图表动画时长

生成的图表如下:

目前咱们发布了可以供开发者体验的npm包,开放了有限的功用,可以经过www.visactor.io/vchart/guid…

检查运用方法。

咱们觉得这个实践很有趣,也代表了未来的开展方向。会继续投入并输出。

简单总结

作为一个可视化研制,我不会觉得人工智能会让我赋闲,反而会促进咱们朝着更好的方向开展。

相关链接: VisActor 官网www.visactor.io/

github:github.com/VisActor