Huygens principle leads to non-uniform wave front I'm trying to implement Huygens principle (each point of the long source is a source of spherical wave, which adds to waves from other sources) to simulate diffraction on a slit (and a grating). And when I make the slit big enough compared to wavelength, the waveform still appears non-uniform. I'd expect it to be at first flat, then going more round when the wave propagates. But instead it appears to have density oscillations in transverse direction, which I can't understand. I've tried varying the wavelength making it larger and smaller, tried using enormous count of points, but the result seems to converge to this non-uniform wavefront.
See the screenshot (the horizontal line here denotes the sources, which are unresolvable on pixel grid because of their density):

Is this a shortcoming of Huygens principle, or should wave really propagate this way?
Is Huygens principle at all a strict description of behavior of waves governed by usual wave equation $u_{tt}=v^2 \Delta u$?
 A: This is a real effect, not a numerical anomaly or shortcoming in the theory. Those lumps near the source are standing waves formed by the interaction of the unbalanced waves from the ends of the source.
Waves travel in all directions all the time, and only appear to have direction because of how they interfere with each other (linear superposition, etc etc). Next to your source, you actually have waves travelling back and forth, that in an infinite line source all cancel out to give a uniform wavefront. The waves from the middle all cancel perfectly like this to give a linear wavefront, but your source is not infinitely long. The waves from the ends of your source are not canceled out, so they are visible as they travel along the length of your source.
The waves travelling from the ends will meet going in opposite directions and form a standing wave. If the wavelength evenly divides the source length, the ends will be antinodes, and nodes if the wavelength half-integer (0.5, 1.5, 2.5 ,...) divides the length.
You can actually observe this if you stand on a straight log floating in water and jump up and down lightly; you will get sharp standing waves along the length of the log, as you are seeing here. (Having seen this, I was immediately reminded of it by your picture).
As for whether this is applicable to diffraction, it should be, but I'm not sure.
A: As an illustration to @WolfTivy's answer, I've made an image of the wave when only finite time has passed since start of oscillations:

Here we can clearly see that the lumps are only inside the circles around the ends where the waves from these ends have already propagated. Outside the circles the wavefront is indeed flat. So, if we make the ends farther from each other, up to infinity, we'll be able to extend our time since start more, still not getting this edge effect.
