[Solved] [Super Bible] Basic shader and point drawing isn't working?

I’m reading the ‘OpenGL Super Bible, 6th Edition’ and I tried to copy the exact code. But I can’t figure out why my point isn’t drawing.

package ecumene;

import java.nio.FloatBuffer;

import org.lwjgl.BufferUtils;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
import org.lwjgl.opengl.GL20;
import org.lwjgl.opengl.GL30;
import org.lwjgl.opengl.PixelFormat;

public class Test1 {
	private static String fragmentSource[] = {
			"#version 430 core                     \n"+
			"                                      \n"+
			"out vec4 color;                       \n"+
			"                                      \n"+
			"void main(void)                       \n"+
			"{                                     \n"+
			"    color = vec4(0.0, 0.8, 1.0, 1.0); \n"+
			"}                                     \n"
    };
	
	private static String vertexSource[] ={
			"#version 430 core                           \n"+
			"                                            \n"+
			"void main(void)                             \n"+
			"{                                           \n"+
			"    gl_Position = vec4(0.0, 0.0, 0.5, 1.0); \n"+
			"}                                           \n"
	};
	
	private static int shaderProgram;
	private static int fragmentShader;
	private static int vertexShader;
	
	private static int vertexArray;
	
	public static void main(String[] args) throws Exception {
		{
			Display.setDisplayMode(new DisplayMode(800, 600));
			Display.setTitle("Screen");
			Display.setResizable(false);
			Display.create(new PixelFormat());
		}
		
		fragmentShader = GL20.glCreateShader(GL20.GL_FRAGMENT_SHADER);
		GL20.glShaderSource(fragmentShader, fragmentSource);
		GL20.glCompileShader(fragmentShader);
		
		vertexShader = GL20.glCreateShader(GL20.GL_VERTEX_SHADER);
		GL20.glShaderSource(vertexShader, vertexSource);
		GL20.glCompileShader(vertexShader);
		
		shaderProgram = GL20.glCreateProgram();
		GL20.glAttachShader(shaderProgram, vertexShader);
		GL20.glAttachShader(shaderProgram, fragmentShader);
		GL20.glLinkProgram(shaderProgram);
		
		vertexArray = GL30.glGenVertexArrays();
		GL30.glBindVertexArray(vertexArray);
		
		GL11.glPointSize(40.0f);
		
		FloatBuffer backgroundColor = BufferUtils.createFloatBuffer(4);
		backgroundColor.put(new float[]{1.0f, 0.0f, 0.0f, 1.0f});
		backgroundColor.flip();
		
		while(!Display.isCloseRequested()){
			GL30.glClearBuffer(GL11.GL_COLOR, 0, backgroundColor);
			
			GL20.glUseProgram(shaderProgram);
			GL11.glDrawArrays(GL11.GL_POINT, 0, 1);
			
			Display.update();
		}
		
		GL20.glUseProgram(0);
		
		GL30.glDeleteVertexArrays(vertexArray);
		GL20.glDeleteShader(fragmentShader);
		GL20.glDeleteShader(vertexShader);
		GL20.glDeleteProgram(shaderProgram);
		Display.destroy();
	}
}

Here’s the result: