成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2020年編程語言展望

新聞 前端
時下最熱門的語言是JavaScript,Java和Python,但是編程語言的新陳代謝也在不斷發展著,新的優秀語言層出不窮,立足取代他們地位。

時下最熱門的語言是JavaScript,Java和Python,但是編程語言的新陳代謝也在不斷發展著,新的優秀語言層出不窮,立足取代他們地位。有一首歌唱的好:"由來只有新人笑,有誰知道舊人哭",對編程語言也是如此。那么在2020的今天,誰是最有前途的語言呢?我們需要拉一個列表,一起說道說道。

Dart

2020年編程語言展望

和Ruby借助RoR一樣,Dart語言也是借助有一個強有力的框架Flutter以及有個好爹谷歌的緣故,該語言迅速流行起來。

優勢:一種比JavaScript更好的語言。

缺點:與JavaScript及其龐大生態系統直面競爭。

實例:

2020年編程語言展望
  1. class Complex { 
  2.  
  3. double _r,_i; 
  4.  
  5. Complex(this._r,this._i); 
  6.  
  7. double get r => _r; 
  8.  
  9. double get i => _i; 
  10.  
  11. String toString() => "($r,$i)"
  12.  
  13. Complex operator +(Complex other) => new Complex(r+other.r,i+other.i); 
  14.  
  15. Complex operator *(Complex other) => 
  16.  
  17. new Complex(r*other.r-i*other.i,r*other.i+other.r*i); 
  18.  
  19. double abs() => r*r+i*i; 
  20.  
  21.  
  22. void main() { 
  23.  
  24. double start_x=-1.5
  25.  
  26. double start_y=-1.0
  27.  
  28. double step_x=0.03
  29.  
  30. double step_y=0.1
  31.  
  32. for(int y=0;y<20;y++) { 
  33.  
  34. String line=""
  35.  
  36. for(int x=0;x<70;x++) { 
  37.  
  38. Complex c=new Complex(start_x+step_x*x,start_y+step_y*y); 
  39.  
  40. Complex z=new Complex(0.00.0); 
  41.  
  42. for(int i=0;i<100;i++) { 
  43.  
  44. z=z*(z)+c; 
  45.  
  46. if(z.abs()>2) { 
  47.  
  48. break
  49.  
  50.  
  51.  
  52. line+=z.abs()>2 ? " " : "*"
  53.  
  54.  
  55. print(line); 
  56.  
  57.  

Elixir

2020年編程語言展望

Elixir有一個美好的名字,翻譯為中文是"靈丹妙藥,長生不老藥",它源自于Erlang,改進了語法以及對有更強大的并發人支持。作為一種純函數式語言,是否可以作為了主流,并長久不衰,長生不老呢?需要我們拭目以待。

優勢:功能編程非常簡單,強大的并發性。

缺點:需要熟悉函數式編程和函數式思維,學習曲線不直。

實例:

2020年編程語言展望
  1. defmodule Mandelbrot do 
  2.  
  3. def set do 
  4.  
  5. xsize = 59 
  6.  
  7. ysize = 21 
  8.  
  9. minIm = -1.0 
  10.  
  11. maxIm = 1.0 
  12.  
  13. minRe = -2.0 
  14.  
  15. maxRe = 1.0 
  16.  
  17. stepX = (maxRe - minRe) / xsize 
  18.  
  19. stepY = (maxIm - minIm) / ysize 
  20.  
  21. Enum.each(0..ysize, fn y -> 
  22.  
  23. im = minIm + stepY * y 
  24.  
  25. Enum.map(0..xsize, fn x -> 
  26.  
  27. re = minRe + stepX * x 
  28.  
  29. 62 - loop(0, re, im, re, im, re*re+im*im) 
  30.  
  31. end) |> IO.puts 
  32.  
  33. end) 
  34.  
  35. end 
  36.  
  37. defp loop(n, _, _, _, _, _) when n>=30do: n 
  38.  
  39. defp loop(n, _, _, _, _, v) when v>4.0do: n-1 
  40.  
  41. defp loop(n, re, im, zr, zi, _) do 
  42.  
  43. a = zr * zr 
  44.  
  45. b = zi * zi 
  46.  
  47. loop(n+1, re, im, a-b+re, 2*zr*zi+im, a+b) 
  48.  
  49. end 
  50.  
  51. end 
  52.  
  53. Mandelbrot.set 

Golang

2020年編程語言展望

谷歌的又一個嫡兒子。在攻城掠土方面,Golang已經取得了不錯的成績。Golang編譯速度快,便捷的語法,靜態變量,基于協程的高性能并發支持。當然也有槽點,比如繁瑣錯誤語法、混亂模塊機制,和缺乏泛型,當然golang社區也一直在努力改進,這些槽點預計將來都會消失。

優勢:語法簡單,靜態類型,很好的并發性。

缺點:缺少泛型,錯誤語法,模塊機制。

實例:

2020年編程語言展望
  1. package main 
  2.  
  3. import ( 
  4.  
  5. "fmt" 
  6.  
  7. "image" 
  8.  
  9. "image/color" 
  10.  
  11. "image/draw" 
  12.  
  13. "image/png" 
  14.  
  15. "math/cmplx" 
  16.  
  17. "os" 
  18.  
  19.  
  20. const ( 
  21.  
  22. maxEsc = 100 
  23.  
  24. rMin = -2
  25.  
  26. rMax = .5 
  27.  
  28. iMin = -1
  29.  
  30. iMax = 1
  31.  
  32. width = 750 
  33.  
  34. red = 230 
  35.  
  36. green = 235 
  37.  
  38. blue = 255 
  39.  
  40.  
  41. func mandelbrot(a complex128) float64 { 
  42.  
  43. i := 0 
  44.  
  45. for z := a; cmplx.Abs(z) < 2 && i < maxEsc; i++ { 
  46.  
  47. z = z*z + a 
  48.  
  49.  
  50. return float64(maxEsc-i) / maxEsc 
  51.  
  52.  
  53. func main() { 
  54.  
  55. scale := width / (rMax - rMin) 
  56.  
  57. height := int(scale * (iMax - iMin)) 
  58.  
  59. bounds := image.Rect(00, width, height) 
  60.  
  61. b := image.NewNRGBA(bounds) 
  62.  
  63. draw.Draw(b, bounds, image.NewUniform(color.Black), image.ZP, draw.Src) 
  64.  
  65. for x := 0; x < width; x++ { 
  66.  
  67. for y := 0; y < height; y++ { 
  68.  
  69. fEsc := mandelbrot(complex( 
  70.  
  71. float64(x)/scale+rMin, 
  72.  
  73. float64(y)/scale+iMin)) 
  74.  
  75. b.Set(x, y, color.NRGBA{uint8(red * fEsc), 
  76.  
  77. uint8(green * fEsc), uint8(blue * fEsc), 255}) 
  78.  
  79.  
  80.  
  81. f, err := os.Create("mandelbrot.png"
  82.  
  83. if err != nil { 
  84.  
  85. fmt.Println(err) 
  86.  
  87. return 
  88.  
  89.  
  90. if err = png.Encode(f, b); err != nil { 
  91.  
  92. fmt.Println(err) 
  93.  
  94.  
  95. if err = f.Close(); err != nil { 
  96.  
  97. fmt.Println(err) 

Julia

2020年編程語言展望

Julia是一門強大的數值計算語言。其語法對數學支持非常好,很適合數據科學家編寫應用。是取代Python統計分析和數值計算的預備選手之一。

優勢:對數學友好。

缺點:要與Python競爭。

實例:

2020年編程語言展望
  1. using Images 
  2.  
  3. @inline function hsv2rgb(h, s, v) 
  4.  
  5. const c = v * s 
  6.  
  7. const x = c * (1 - abs(((h/60) % 2) - 1)) 
  8.  
  9. const m = v - c 
  10.  
  11. const r,g,b = 
  12.  
  13. if h < 60 
  14.  
  15. (c, x, 0
  16.  
  17. elseif h < 120 
  18.  
  19. (x, c, 0
  20.  
  21. elseif h < 180 
  22.  
  23. (0, c, x) 
  24.  
  25. elseif h < 240 
  26.  
  27. (0, x, c) 
  28.  
  29. elseif h < 300 
  30.  
  31. (x, 0, c) 
  32.  
  33. else 
  34.  
  35. (c, 0, x) 
  36.  
  37. end 
  38.  
  39. (r + m), (b + m), (g + m) 
  40.  
  41. end 
  42.  
  43. function mandelbrot() 
  44.  
  45. const w, h = 10001000 
  46.  
  47. const zoom = 0.5 
  48.  
  49. const moveX = 0 
  50.  
  51. const moveY = 0 
  52.  
  53. const img = Array{RGB{Float64}}(h, w) 
  54.  
  55. const maxIter = 30 
  56.  
  57. for x in 1:w 
  58.  
  59. for y in 1:h 
  60.  
  61. i = maxIter 
  62.  
  63. const c = Complex( 
  64.  
  65. (2*x - w) / (w * zoom) + moveX, 
  66.  
  67. (2*y - h) / (h * zoom) + moveY 
  68.  
  69.  
  70. z = c 
  71.  
  72. while abs(z) < 2 && (i -= 1) > 0 
  73.  
  74. z = z^2 + c 
  75.  
  76. end 
  77.  
  78. const r,g,b = hsv2rgb(i / maxIter * 3601, i / maxIter) 
  79.  
  80. img[y,x] = RGB{Float64}(r, g, b) 
  81.  
  82. end 
  83.  
  84. end 
  85.  
  86. save("mandelbrot_set.png", img) 
  87.  
  88. end 
  89.  
  90. mandelbrot() 

Kotlin

Kotlin是優化版本的Java,作為Java的取代者之一。谷歌已經在安卓開發中支持Kotlin。

2020年編程語言展望

優勢:更強大的Java。

缺點:好要依靠Java的陰影活著。

2020年編程語言展望
  1. import java.awt.Graphics 
  2.  
  3. import java.awt.image.BufferedImage 
  4.  
  5. import javax.swing.JFrame 
  6.  
  7. class Mandelbrot: JFrame("Mandelbrot Set") { 
  8.  
  9. companion object { 
  10.  
  11. private const val MAX_ITER = 570 
  12.  
  13. private const val ZOOM = 150.0 
  14.  
  15.  
  16. private val img: BufferedImage 
  17.  
  18. init { 
  19.  
  20. setBounds(100100800600
  21.  
  22. isResizable = false 
  23.  
  24. defaultCloseOperation = EXIT_ON_CLOSE 
  25.  
  26. img = BufferedImage(width, height, BufferedImage.TYPE_INT_RGB) 
  27.  
  28. for (y in 0 until height) { 
  29.  
  30. for (x in 0 until width) { 
  31.  
  32. var zx = 0.0 
  33.  
  34. var zy = 0.0 
  35.  
  36. val cX = (x - 400) / ZOOM 
  37.  
  38. val cY = (y - 300) / ZOOM 
  39.  
  40. var iter = MAX_ITER 
  41.  
  42. while (zx * zx + zy * zy < 4.0 && iter > 0) { 
  43.  
  44. val tmp = zx * zx - zy * zy + cX 
  45.  
  46. zy = 2.0 * zx * zy + cY 
  47.  
  48. zx = tmp 
  49.  
  50. iter-- 
  51.  
  52.  
  53. img.setRGB(x, y, iter or (iter shl 7)) 
  54.  
  55.  
  56.  
  57.  
  58. override fun paint(g: Graphics) { 
  59.  
  60. g.drawImage(img, 00this
  61.  
  62.  
  63.  
  64. fun main(args: Array<String>) { 
  65.  
  66. Mandelbrot().isVisible = true 
  67.  

Lua

2020年編程語言展望

Lua是一種小型,簡單,快速,可嵌入,可移植且靈活的語言。

優點:小型、內嵌,nginx編程

缺點:已經26年了,年事已高。

實例:

2020年編程語言展望

Pharo

2020年編程語言展望

Pharo是Smalltalk的現代化變體,是一種非常有生產力的面向對象語言。實際上,Smalltalk是OOP的典范,并且已經啟發了幾乎所有其他OOP語言。但是,也沒有其他一種語言能比Smalltalk更好地實現OOP。

Pharo也是世界上最簡單和最優雅的語言之一,可以讓我們在15分鐘內學習Smalltalk的全部語法,

優勢:生產率高,生產率提高5倍。

缺點:需要不同的編程思想。

實例:

2020年編程語言展望

Rust

[[313519]]

Rust是一種設計為內存安全的編程語言,通過borrow和變量生命周期控制消除了與存儲器相關的編程錯誤。Rust承諾編程會更安全。而且Rust效率也非常高,語法也非常優雅,目前熱度很高,Github中Rust新項目層出不窮。

優勢:開發更加可靠,有從系統級到應用級,瀏覽器引擎(Firefox),Web開發等各方面的實例。門檻有點高,可以篩選掉一批寫bug的碼農。

缺點:學習曲線比較陡峭,門檻較高,把一批新手擋在外面。

實例:

2020年編程語言展望

WebAssembly

2020年編程語言展望

WebAssembly可以說是一匹黑馬。預計在接下來十年左右的時間里,可能會衍生出許多升至頂級的語言。WebAssembly 是一種接近機器語言的跨平臺二進制格式。目前四大主流瀏覽器廠商谷歌Chrome、蘋果Safari、微軟Edge 和 Mozilla FireFox 均以支持了WebAssembly 的初始版本,而且為了安全規范,去年各大廠商又成立了字節碼聯盟,立足于通過協作制定和實施標準,完善 WebAssembly 在瀏覽器之外的生態。

2020年編程語言展望

優點:廣泛的瀏覽器和語言支持。

缺點:生態體系尚未完善。

實例:

2020年編程語言展望
  1. request = new XMLHttpRequest(); 
  2.  
  3. request.open('GET''simple.wasm'); 
  4.  
  5. request.responseType = 'arraybuffer'
  6.  
  7. request.send(); 
  8.  
  9. request.onload = function() { 
  10.  
  11. var bytes = request.response; 
  12.  
  13. WebAssembly.instantiate(bytes, importObject).then(results => { 
  14.  
  15. results.instance.exports.exported_func(); 
  16.  
  17. }); 
  18.  
  19. }; 

 

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2020-02-03 14:34:41

技術資訊

2020-02-18 16:38:48

編程語言javapython

2020-08-19 08:18:59

編程語言JavaPython

2019-09-24 15:20:36

編程語言PythonJava

2020-02-14 09:19:12

編程語言JavaPython

2020-02-26 15:14:23

編程語言PythonJava

2020-01-09 10:36:16

云計算技術互聯網

2021-01-07 16:29:20

編程語言JavaPython

2020-06-30 10:30:24

編程語言開發大數據

2020-03-01 17:35:53

編程語言大數據程序員

2020-11-10 14:57:18

編程語言PythonJava

2021-02-17 23:49:56

編程語言PYPLPerl

2020-02-13 16:18:50

人工智能開發編程語言

2019-10-30 10:42:42

CIO數字化轉型開發

2020-07-02 07:12:28

編程語言開發技術

2020-07-03 08:00:19

編程語言JavaPython

2020-02-13 09:00:00

編程語言JavaKotlin

2020-12-18 11:32:45

編程語言JavaPython

2019-07-30 10:35:26

編程語言前端Rust

2020-01-12 19:48:13

編程語言RustPython
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区四区在线视频 | 日本中出视频 | h片免费在线观看 | 国产一区久久久 | 国产激情一区二区三区 | 神马影院一区二区三区 | 91久久国产 | 在线精品国产 | 欧美一区二区三区大片 | 久久国产精品久久国产精品 | 国产精品视频在线播放 | 欧洲精品视频一区 | 欧美一级片在线 | 自拍偷拍亚洲视频 | 国产91精品久久久久久久网曝门 | 日韩在线观看精品 | 在线日韩视频 | 黄色高清视频 | 国产成人高清视频 | 亚洲一区二区欧美 | 国产aa | 国产一级精品毛片 | 91在线 | av网址在线| ririsao久久精品一区 | 超碰精品在线 | 亚洲高清在线观看 | 一区二区三区视频在线免费观看 | 日韩电影a | 91av导航 | 日本一区二区三区四区 | 亚洲精品久 | 久久激情视频 | 热99精品视频| 99精品国自产在线 | 中文字幕乱码一区二区三区 | 精品丝袜在线 | 亚洲成年在线 | 啪一啪 | 午夜成人免费视频 | 国产成人精品一区二 |